声明:内容来源于个人学习记录,目的仅是用于个人复习!且可能存在错误!
假如有一阶数组
float a[3];
此时a,&a[0]的地址是相同的,但是两者存在差别
a为整个数组的首地址,a+1==a[1],但是a不能使用 a++
&a[0]是该一维数组首元素的地址,&a[0]+1指针指向a[0]后一个元素的地址即&a[1],指针移动的大小为该数组中一个元素的大小(此处为一个float的大小)
现在开始讨论二阶数组中的数组名与数组首元素地址的关系
假如有二阶数组
int a[3][2];
此时a,a[0],还有&a[0][0]的地址是相同的,但是跟以为数组一样,它们三者存在差别,
a为整个数组的首地址,a+1==a[0][1]同一维数组一样,a不能使用a++
a[0]是第一行的首地址,若a[0]+1则指针指向a[1](第二行的首地址),指针的移动大小是一个一维数组的大小
&a[0][0]是第一行第一列第一个元素的的地址,&a[0][0]+1指针指向&a[0][1],指针移动的大小是数组中一个元素的大小(此处为一个int的大小)