P99
#define P99_INIT   { 0 }

A catch all 0-initializer.

Variables of static storage are initialized as such as if all components recursively are initialized from 0. Use this macro here to achieve the same effect for auto or register variables. All the following declarations are legal:

 unsigned a        = P99_INIT;
 unsigned b[2]     = P99_INIT;
 unsigned *c       = P99_INIT;
 unsigned (*)d[3]  = P99_INIT;
 unsigned e[4][5]  = P99_INIT;

Here depending on your compiler the last for e (and other deeply nested types) may produce spurious "missing braces" warnings. These can safely be ignored.

See also:
P99_LVAL
p99_int.h

Definition at line 1011 of file p99_int.h.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines