プログラミング言語 C において、同時に宣言されている変数のスコープ、および初期化順がどのようになるのか仕様中に見つけることが出来ませんでした。 C99 の文言の内でどの項目で説明されているのか (あるいは説明されていないのか) を教えてください。
実際に GCC や Clang で (オプションとして -std=c99
を付けて) 試してみたところ
int a=1, b=a;
という書き方は通りましたが
int c=d, d=1;
はエラーになるというところから、書かれた順に分割した
int a=1; int b=a; int c=d; int d=1;
とおおよそ等価なものとして解釈しているように見えますが、これは言語仕様として保証された動作でしょうか?
(この質問での変数宣言はローカル変数の場合であることとします。)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/05 12:48
2019/11/05 12:49
2019/11/05 13:22
2019/11/05 14:54