1.数组指针的概念
1.顾名思义,数组指针就是指向数组的指针(地址),要和指针数组做区分。
数组指针:类型为 int(*)[常量],是一个地址。
指针数组:是由 int * 类型之类的指针为元素的数组,是一个数组。
2.数组指针指向的是整一个数组,而非那个数组的首元素。
例如:
在这幅图中,分别创作了 int 类型指针pa,和 int(*)[4] 类型指针pb。
pa 指向了 arr 首元素的地址,而 pb 指向了 arr 数组,他们输出的结果是一样的。但是,当 arr 是二维数组时,pa 就无法成功创建,而 pb 却能成功创建,如:
这说明,二维数组的首元素确实是整一个数组,而非那个数组的首元素。
2.多维数组的元素
1.事实上,二维数组的元素的数据类型是 int(*)[] ,也就是数组指针。
2.其他多维数组的元素的数据类型也是 int(*)[],本质上是套娃。
3.数组指针的使用
1.如果想使用数组指针答应二维数组,可以这样做:
值得注意的是,*pb[0] + i 与 arr[0] + i 与 arr[0][i] ,这三者是完全等价的。
你甚至可以将 arr[0] 写成 0[arr],如:
完
标签:arr,知识,int,元素,pb,数组,指针 From: https://blog.csdn.net/bitenum/article/details/143252358