《C和指针》——指向数组的指针(逐个移动和逐行的区别)

来源:互联网 发布:淘宝服装的平铺和挂拍 编辑:程序博客网 时间:2024/06/06 18:51

定义一个数组
int matrix[3][10];
第一种初始化
int (*p)[10]=matrix;
第二种初始化
int *pi=&matrix[0][0];与 int *pi=matrix[0];等价

第一种初始化的p指向matrix的第1行,p是一个指向拥有10个整型元素的数组的指针。当把p与一个整数相加时,该整数值首先根据10个整型值的长度进行调整,然后再执行加法。可以一行一行地在matrix中移动。

第二种初始化只能逐个访问整型元素而不是逐行在数组中移动。

0 0
原创粉丝点击