◆ P99_INIT

#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

Definition at line 1057 of file p99_int.h.

Referenced by P99_MAIN_INTERCEPT().