「C言語/配列とポインタ」の版間の差分
削除された内容 追加された内容
→配列とポインターの基本: 「式の中では、配列は「その先頭要素へのポインター」に読み替えられる」わけではなく、アドレス式の文脈に限って先頭要素のアドレスに等しい。またポインターとアドレスを混同している。 タグ: 2017年版ソースエディター |
→1次元の配列と要素型へのポインター: 配列をループでまわず場合、要素数は計算で求めるか番兵を決めましょう。配列変数にアドレス演算子を適用した場合の解釈に誤りがありました(コメント内)。&aが配列全体を示すポインタならインクリメントすると最後の要素の次を示すはずだがそうはなりません。 タグ: 2017年版ソースエディター |
||
19 行
int a[5] = {2, 3, 5, 7, 11};
for (int i = 0; i <
printf("%d ", a[i]); //配列aの要素を一覧表示する。
printf("\n");
int *p = a;
printf("%d\n", *(p + 2));
}
</syntaxhighlight>
;実行結果:<syntaxhighlight lang="text">
2 3 5 7 11
5
</syntaxhighlight>
一般に配列の先頭要素のアドレスを格納したポインター変数
このため、上記のような<code *(
== 1次元の配列と配列へのポインター ==
|