P99
#define P99_INIT   { 0 }

A catch all 0-initializer.

Variables of static storage are initialized as if all components are initialized recursively from 0. Use this macro 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 expression 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 1043 of file p99_int.h.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines