У чому різниця між покажчиком масиву і масивом покажчика в C?
Відповіді:
1 для відповіді № 1Ан покажчик масиву є покажчиком, що посилається на масив. Ви можете отримати доступ до елементів за допомогою арифметики вказівника, і в протилежному напрямку ви можете використовувати покажчик для доступу до елементів масиву.
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];
Цей масив містить 20 покажчиків на "char" або залежно від інтерпретації для "рядків"
Так що parray - це покажчик масиву ан масив char покажчиків
2 для відповіді № 2
Покажчик масиву вказує на масив, а масив покажчика - масив покажчика, який може вказувати десь.
int array[10]; // `array` is an array pointer
int* pointers_array[10];