Relevant parts of the latest C99 standard (n1256.pdf) regarding uninitialized automatic storage duration objects:
6.7.8p10: If an object that has automatic storage duration is not initialized explicitly, its value is indeterminate.
3.17.2 (definition of indeterminate value): Either an unspecified value or a trap representation.
3.17.3 (definition of unspecified value): Valid value of the relevant type where this International Standard imposes no requirements on which value is chosen in any instance. NOTE An unspecified value cannot be a trap representation.
6.2.6.1p5 (definition of trap representation): Certain object representations need not represent a value of the object type. If the stored value of an object has such a representation and is read by an lvalue expression that does not have character type, the behavior is undefined. If such a representation is produced by a side effect that modifies all or any part of the object by an lvalue expression that does not have character type, the behavior is undefined.41) Such a representation is called a trap representation.
Footnote 41: Thus, an automatic variable can be initialized to a trap representation without causing undefined behavior,but the value of the variable cannot be used until a proper value is stored in it.