C中的数组指针和指针数组有什么区别?
答案 0 :(得分:2)
数组指针指向数组,指针数组是指针数组,可能指向某个地方。
int array[10]; // `array` is an array pointer
int* pointers_array[10];
答案 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”的指针或依赖于对“strings”的解释
所以parray是 char指针数组的数组指针