Cの配列ポインタとポインタ配列の違いは何ですか?
質問する
386 次
2 に答える
2
配列ポインターは配列を指し、ポインター配列はポインターの配列であり、どこかを指している可能性があります。
int array[10]; // `array` is an array pointer
int* pointers_array[10];
于 2013-03-28T08:51:44.130 に答える
2
配列ポインタは、配列を参照するポインタです。ポインター演算を使用してアイテムにアクセスできます。逆方向では、ポインターを使用して配列方法でアイテムにアクセスできます。
int array [20];
int a = *(array + 10);
int b = array[10];
int *p;
p = array;
int c = *(p + 10);
int d = p[10];
すべてのアプローチが機能し、a、b、c、d は同じ値になります。ただし、さまざまなアプローチを慎重に使用してください。配列と p の違いは
p ++; // allowed
array ++; // fail
ポインターの配列は、配列項目がポインターであることを意味します(ただし、どのタイプへの)。
char* parray[20];
この配列は、「char」または解釈に応じて「strings」への 20 個のポインターを保持します。
したがって、parray はchar ポインターの配列の配列ポインターです。
于 2013-03-28T09:10:57.253 に答える