若有数组定义 "int a[4][5];",则引用"*(a+1)+2"表示

问题描述:

若有数组定义 "int a[4][5];",则引用"*(a+1)+2"表示

a表示数组的首地址,可以把a数组看成是一个元素为一维数组的数组(可能有点难理解,可是把a看成一个由4个元素组成的数组,每个元素是一个由5个int型数组成的数组).a+1表示的是将a的地址向后移一个元素的距离.所以就是移到a[1][0]的地址.
*(a+1)表示取a[1][0]的内容.
*(a+1)+2是将a[1][0]的值加2.