0

p指定されたステートメントで ポインターを初期化している間

int a[10], *p;
p = &a[0];

の型が&a[0]isなのpointer to intか is itなのintか疑問です。
これを読んだ後、私はこの混乱に陥りました:

配列の最初の要素へのポインターとして使用aして、 a[0]: を変更できます*a = 7;

注: の型を知りたいです&a[0]

4

4 に答える 4

1

&はアドレス演算子なので、&a[0]は配列の最初の要素のアドレスを取得するaため、int *. 次のように読むことができるよりも優先順位[]が高いため:*

&(a[0])

これはより明確かもしれません。あなたが持っている場合:

p = a ;

ポインターに減衰する配列に対して動作します。

于 2013-08-02T18:03:31.807 に答える
0

のアドレスはa[0]、整数へのポインタ型です。*aは と同等で*(a + 0)あるため、配列の最初の要素を変更できますa[0]

于 2013-08-02T18:02:29.773 に答える