I found this in c99 standard
3.17.2
1 indeterminate value
either an unspecified value or a trap representation
This above statement is not
Unless otherwise specified, static objects contain zero or null pointer values upon program startup. Automatically and dynamically allocated objects are initialized only if an initial value is explicitly specified; otherwise they initially have indeterminate values (typically, whatever bit pattern happens to be present in the storage, which might not even represent a valid value for that type).
Reference : WikiPedia