2

私は今日面接を受け、次の 2 つの宣言の違いを尋ねられました。

int *A[10];

int (*A)[10];

私は知りませんでした。重要なポインター「ポインター」が欠けていると思われる場合は、それもお知らせください。ありがとう。

4

2 に答える 2

8

1 つ目は への 10 個のポインターの配列を宣言しint、2 つ目は 10 個intの配列へのポインターを宣言します。

[]よりもきつくバインド*されるため、最初のものは同等に書くことができます

int *(A[10]);
于 2012-06-08T12:57:10.027 に答える
2

与えられた

int *A[10];  // an array of 10 int pointers

単項の相対的な優先順位*[]これを同等にします

int *(A[10]);  // same

2番目の宣言は、その暗黙の順序を次のように変更します

int (*A)[10]; // a pointer to an array of ten ints

CおよびC++演算子の優先順位と結合性

于 2012-06-08T12:59:48.983 に答える