「トーク:C言語」の版間の差分
削除された内容 追加された内容
Toya shiwasu (トーク | 投稿記録) |
→「配列とポインタの基本」について: 新しい節 |
||
144 行
*可読性については、概要の節を設けて、そこで形式と機能のみを記述した表を作ろうかと思います。[[利用者:Toya shiwasu|Toya shiwasu]] ([[利用者・トーク:Toya shiwasu|トーク]]) 2017年3月15日 (水) 11:52 (UTC)
== 「配列とポインタの基本」について ==
> 式の中では、配列は「その先頭要素へのポインタ」に読み替えられる。
読み替えられない反例があります。
反例1
int a[10]={2,3,5,7,11,13,17,19,23,29};
printf("%u\n", sizeof a); //40
printf("%u\n", sizeof &a[0]); //4
反例2
int *pa;
pa = &(a); //type mismatch
pa = &(&a[0]); //not lvalue
配列とポインタを混同していては正しい理解に達し得ないので、この説明は不適切と指摘します。
[代案]
配列は集合でありそれ自体は値を持たない。持たないはずの値を使おうとすると、先頭要素のポインタに読み替えられる。
|