永发信息网

分别用*a,*a+1,*(a+1)定义一维数组中的a[5]

答案:2  悬赏:10  手机版
解决时间 2021-01-29 01:15
  • 提问者网友:心如荒岛囚我终老
  • 2021-01-28 00:50
分别用*a,*a+1,*(a+1)定义一维数组中的a[5]
最佳答案
  • 五星知识达人网友:一把行者刀
  • 2021-01-28 01:51
如果a[]是int型数组,设a的地址是0,由于int是4字节,那么a+2就是地址8;编译器把a+2自动理解为a+2*sizeof(int),如果写成a+2*sizeof(int),那么上例中的地址就是32(因为a+2*sizeof(int)=a+8,编译器理解为a+8*4)而不是...
全部回答
  • 1楼网友:雾月
  • 2021-01-28 03:18
数组名a表示数组a的首地址, 是a[]的首地址, 同时也是a[][]的首地址。 *(a+1)是把a看作是一维的数组, 它其中每个元素也是一个一维数组。 所以*(a+1)就是这个总的一维数组的第二个元素, 也就是二维数组的第二行。 而*(a+1)本身又是一个数组, 它指向这个数组的首地址。 综上所述, *(a+1)是这个二维数组的第1行的第0个元素。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯