EXP33-C. 初期化されていないメモリからの読み込みを行わない ローカル自動変数は、初期化前に使用されると予期せぬ値をとる可能性がある。C 標準には「自動記憶域期間を持つオブジェクトが明示的に初期化されていない場合、その値は不定となる」と記載されている [ISO/IEC 9899:2011]。(附属書 J 「未定義の動作」の 11 も参照。) 一般に、プログラムスタックを利用する処理系では、この値はその時点でスタックメモリに格納されている値が初期値となる。未初期化のメモリには 0 が格納されていることが多いが、必ずしもそうとは限らない。未初期化のメモリには不定の値が含まれており、オブジェクトの型によってはトラップ表現になる可能性がある。unsigned char 以外の型の左辺値によって未初期化のメモリを読み取ると未定義の動作となり (C 標準の附属書 J 「未定義の動作」の 10 と