Michel Keijzers Michel Keijzers - 1 year ago 69
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 ?

Answer Source

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.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download