[805] Re:左辺値としての配列名
投稿者:NykR
2007/02/20 02:13:25
私自身は「変換する」と書いてあるんだから変換するんだろうと思ってますが、例えばこんなコードをgccでコンパイルすると
int main(void)
{
int a[1];
a++;
return 0;
}
array_inc_test.c: In function `main':
array_inc_test.c:4: wrong type argument to increment
と、型に問題がある、というメッセージが表示されます。
a++を(&a)++と、ポインタ値のインクリメントに置き換えると
array_inc_test.c:4: invalid lvalue in increment
と表示されますからgccではaはポインタではないみたいです。
ついでに、K&Rの附録Aでは制約が書き加えられて変換しないことになっています。