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 将达到相同的值。但是,请谨慎使用不同的方法。array 和 p 的区别是
p ++; // allowed
array ++; // fail
指针数组只是意味着您的数组项是指针(但是指向什么类型)。
char* parray[20];
该数组包含 20 个指向“char”的指针或取决于对“strings”的解释
所以 parray 是一个char 指针数组的数组指针
于 2013-03-28T09:10:57.253 回答