请告诉我指针数组和数组指针有什么区别,特别是用c语言
答案 0 :(得分:0)
设T为随机类型(int,long int,double,enum ecc ..)然后:
int n=3;
T arr[n];
T*p=arr;
p
是指向T数组arr
的第一个元素的指针,因此您可以像这样访问数组的第一个元素:
arr[0]="whatever you want but a r-value"
或
p=...
这是一种在没有索引的情况下移动数组的简单方法,也是一种通过值传递变量的绝佳解决方案。请记住,指针具有指向对象的l值作为r值,当指针被解除引用时,我们获得指向的对象。所以写p + 1意味着将指针移动到数组的第二个元素。 指针数组实际上是此对象的集合(指向变量或另一个数据结构的指针)。例如,您可以拥有一个int指针数组来跟踪有线列表的所有元素。由于您没有定义每个指针,因此它们是未推荐的,因此它可能是一种危险的编码方式。