P99

◆ 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
P99_LVAL
p99_int.h

Definition at line 1057 of file p99_int.h.

Referenced by P99_MAIN_INTERCEPT().