>>680
ISO/IEC 9899:1999
 if it has pointer type, it is initialized to null pointer;
 if it has arithmetic type, it is initialized to
  (positive or unsigned) zero;
 if it is an aggregate, every member is initialized
  (recursively) according to these rules;
 if it is a union, the first named member is initialized
  (recursively) according to these rules.