&gt;Does not initialise every element to 0 in the way it would seem to.<p>Yes it does, since atleast C99. As for the others:<p>a) Removing the initializer will leave the values undefined.<p>b) Using an initializer of { 1 } will initialize the first element to 1 and the rest to 0.