seclan のほえほえルーム

| |

・プログラミング言語 C の新機能 Part XXIII: 変数宣言と実行コードの位置関係 (1999/09/27 [])
 変数を使うには、参照する前に宣言をする必要があります。このため従来の C 言語では、そのコードを含むブロックの先頭でまとめて行わなければなりませんでした。今回の新しい C 言語では、C++ 言語と同じように、ブロックの先頭という位置に縛られることなく、参照する前にどこでも宣言してよいということになりました。スコープは、その宣言された直後から開始されます。
 変数が初期化付きで宣言されている場合(例えば、int i = 3)、制御がその宣言部を通過する場合にのみ初期化されます。もし制御が通過しない場合その値は不定です。また前回そこを通過し初期化された後、再びループか何かで同じ宣言部にやった来たけれども、その宣言部分を飛び越えた場合でも、以前代入された値は忘れられており、不定値となります。
 また可変長配列を宣言した場合、その宣言を飛び越す前方ジャンプは禁止されています。なぜならば、飛び越されると、確保すべき必要メモリ量がわからないからです。
 さらに、for 文も拡張されました。for 文は、for( [1]; ...; ...) { ... } のように通常用いますが、なんと [1] の部分に宣言がおけるようになりました。つまり C++ 言語でのと同様に、for(int i = 0; i < 100; i++){ ... } のように記述することができるようになりました。なおこの i が有効なのはこのループの範囲内だけです。また使える変数は、auto 変数か register 変数だけで、static 変数などは使用できません。


by seclan


| |

 

配信

3.9 msec