配列とポインタについて熱く論じてくれ。
■ このスレッドは過去ログ倉庫に格納されています
0001rerorero
NGNGint a[3]のとき、
配列名aは、式の中ではポインタと「みなされる。」
int a[3];
a[0]=10;
a[1]=20;
a[2]=30;
printf("%d\n",*a); 10が表示される
printf("%d\n",*(a+1)); 20が表示される
printf("%d\n",*(a+2)); 30が表示される
*aってのは、ポインタaが指している先の変数を
表す。
ってことから、aはポインタと解釈されていることがわかる。
ただ、aは「ポインタと解釈されている」のであって、
ポインタではない。
というのも、
配列の先頭要素のアドレスは
固定された値、すなわち「定数」であり、
定数にアドレスを代入することはできない。
それに対し、ポインタは「変数」である。
どうでしょね?
■ このスレッドは過去ログ倉庫に格納されています