>>334
そうですね

>>332
*まず初期が行われるタイミングが違います
・関数内(この場合mainの中)で宣言された変数はその関数が呼ばれたときに初めて初期化されます(static宣言を除く)
関数が呼ばれるたびに初期化が行われるということになります
・関数の外で宣言された変数はコンパイル時に初期化されます
プログラムの開始時にその値になっているということです.その後は初期化されません

*その変数を扱うことが出来る範囲が違います(スコープ)
・関数内(この場合mainの中)で宣言された変数はその関数内のみで使うことが出来ます
・関数の外で宣言された変数はすべての関数から使うことが出来ます(ファイルをまたぐときはexternを使います)
・関数外で宣言された変数と関数内で宣言された変数が同じ名前の場合は関数内の変数が有効になります