知方号

知方号

彻底理解数组指针和指针数组的区别<三个的的不同用法的区别>

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

问题

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

数组指针

数组指针:本质是一个指针,指向了一个数组,数组中的每个元素都是某种数据类型的值(比如 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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。