p指定されたステートメントで ポインターを初期化している間
int a[10], *p;
p = &a[0];
の型が&a[0]isなのpointer to intか is itなのintか疑問です。
これを読んだ後、私はこの混乱に陥りました:
配列の最初の要素へのポインターとして使用
aして、 a[0]: を変更できます*a = 7;。
注: の型を知りたいです&a[0]。
&はアドレス演算子なので、&a[0]は配列の最初の要素のアドレスを取得するaため、int *. 次のように読むことができるよりも優先順位[]が高いため:*
&(a[0])
これはより明確かもしれません。あなたが持っている場合:
p = a ;
ポインターに減衰する配列に対して動作します。
のアドレスはa[0]、整数へのポインタ型です。*aは と同等で*(a + 0)あるため、配列の最初の要素を変更できますa[0]。