彻底理解数组指针和指针数组的区别

您所在的位置:网站首页 函数的指针与指针函数有什么区别 彻底理解数组指针和指针数组的区别

彻底理解数组指针和指针数组的区别

#彻底理解数组指针和指针数组的区别| 来源: 网络整理| 查看: 265

问题

数组指针和指针数组有什么区别?

数组指针

数组指针:本质是一个指针,指向了一个数组,数组中的每个元素都是某种数据类型的值(比如 int 类型)。

int (*p)[n]; //定义了一个数组指针,指向一个大小为n的数组,数组中的每个元素都是int类型

数组指针也称行指针,也就是说,当指针p执行p+1时,指针会指向数组的下一行,如:

int a[3][4]; int (*p)[4]; //p是一个数组指针,指向了一个包含4个int型元素的数组 p=a; //将二维数组的首地址赋给p,即a[0]或a[0][0] p++; //跨过第一行,p指向了a[1][0] 指针数组

指针数组:本质是一个数组,该数组中的每个元素都是一个指针。

int *p[n]; //定义了一个指针数组,数组大小为n,数组中的每个元素都是一个int*指针

指针数组是一个包含若干个指针的数组,p是数组名,当执行p+1时,则p会指向数组中的下一个元素。

int a[3][4]; int *p[3]; //定义了一个数组,该数组中有3个int*指针变量,分别为p[0]、p[1]、p[2] //p++; //若执行此语句,则数组p指向下一个数组元素 for(int i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3