0

これは私のモジュールから抽出されます:

初期化後に定数に新しい値を割り当てようとすると、コンパイラは(のみ)警告メッセージを発行します。

これはC99では正しくありませんが、私のモジュールはC89に基づいているようですが、誰かがC89に従ってこのステートメントの有効性を確認できます。

4

2 に答える 2

2

C89http://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ください。

于 2010-12-31T16:14:38.050 に答える
0

C99とC89の主な違いを確認したところ、「const」キーワードの変更については何も言及されていません。

[トピック外]ただし、C89標準ドラフト全体を取得していません。どこからダウンロードできるか知っている人はいますか?

于 2010-12-31T16:04:20.510 に答える