c语言二维数组字节问题 求大神解答

问题如下图 请给出详尽解释 谢谢你萌!

数组名代表数组的地址,也就是第一个数组元素的地址(此题中为a[0][0]的地址)。a+1也就是&a[0][0]+1即为&a[0][1]了,是在列上变化,数组元素是int型,所以是2个字节(这不准确,在新的编译器上,int可能是4个字节)。而a[1]是行地址,即a[0],a[1],a[2]这三个都是行地址,它们每一个都包含了4个元素,每个元素2字节,所以a[0]+1=a[1],横跨了a[0]中的4个元素才到了a[1],所以间格了4*2=8字节。请仔细理解这里的行,列指针,多想想你就会理解的,祝你学有所成!追问

谢谢

温馨提示:答案为网友推荐,仅供参考
相似回答