C语言中的“行指针”与“元素指针”有什么区别?
1个回答
展开全部
int a[4]={1,2,3,4}
1 2 3 4
^ ^
a[0] a[1] a[2] a[3]
a是一维数组名,代表数组的首地址.也就是a[0]
*(a+1) 指针移动2个字节,指向下一个数组元素,就是a[1]
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}
^ ^
*a[4] 或a[][4] 或a[3][4] 都可以表示行指针.
操作
a是二维数组名,代表二维数组的首地址,也就是a[0][0] = 1
*(a+1)[4] 指针指向a[1][0] = 5 ,也就是指向下一行数组元素的首地址.一次跳跃到下一行.
1 2 3 4
^ ^
a[0] a[1] a[2] a[3]
a是一维数组名,代表数组的首地址.也就是a[0]
*(a+1) 指针移动2个字节,指向下一个数组元素,就是a[1]
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}
^ ^
*a[4] 或a[][4] 或a[3][4] 都可以表示行指针.
操作
a是二维数组名,代表二维数组的首地址,也就是a[0][0] = 1
*(a+1)[4] 指针指向a[1][0] = 5 ,也就是指向下一行数组元素的首地址.一次跳跃到下一行.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询