Michel Keijzers Michel Keijzers - 5 months ago 28
C Question

Initializing a multidimensional array: {0} versus {{{0}}}

In the C code I am analyzing, there are a lot of multidimensional (struct) arrays which are initialized with a different number of curly brackets e.g.


However, replacing these by
also works perfectly.

Is there a (functional) difference between using one or more sets of curly brackets (
) occurrences ?


No, there is no functional difference. The C standard allows to leave out intermediate {}. In particular, the form { 0 } is an initializer that can be used for all data types.