これは私のモジュールから抽出されます:
初期化後に定数に新しい値を割り当てようとすると、コンパイラは(のみ)警告メッセージを発行します。
これはC99では正しくありませんが、私のモジュールはC89に基づいているようですが、誰かがC89に従ってこのステートメントの有効性を確認できます。
C89
http://ideone.com/x8lXLのコードを使用して、どちらも正しいように見えるこのケースのをC99
生成するようです。error
# C89
[~]> gcc -std=c89 test.c
test.c: In function ‘main’:
test.c:5: error: assignment of read-only variable ‘A’
# C99
[~]> gcc -std=c99 test.c
test.c: In function ‘main’:
test.c:5: error: assignment of read-only variable ‘A’
clang
また、ここに同意することに注意してgcc
ください。
C99とC89の主な違いを確認したところ、「const」キーワードの変更については何も言及されていません。
[トピック外]ただし、C89標準ドラフト全体を取得していません。どこからダウンロードできるか知っている人はいますか?