*(*(a+i)+j)与*(a[i]+j)

koala_jx 2009-11-08 01:11:09
a[i][j]是一个二维数组
*(*(a+i)+j)与*(a[i]+j)书上说这两个都可以表示a[i][j]
我不理解的是为什么*(a+i)和a[i]是等价的
a[i]是个地址
a+i也是个地址
那*(a+i)不就是地址里面的值了么?
请大牛们讲解一下哈
...全文
163 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
h2995527 2011-05-11
  • 打赏
  • 举报
回复
为什么啊,想象了好久了!!
koala_jx 2009-11-08
  • 打赏
  • 举报
回复
我懂啦~谢谢啦~
koala_jx 2009-11-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zzcmx2008 的回复:]
a[i]其实就是取a+i的值。即,a[i]和*(a+i)是等价的。
[/Quote]

为什么是等价的呀
zzcmx2008 2009-11-08
  • 打赏
  • 举报
回复
a[i]其实就是取a+i的值。即,a[i]和*(a+i)是等价的。
koala_jx 2009-11-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zzcmx2008 的回复:]
那是因为*(a+i)也是个地址,a相当于指向指针的指针。
[/Quote]

a[0]和a[0][0],a[1]和a[1][0]的地址是一个么
*(a+i)为什么是个地址?
mstlq 2009-11-08
  • 打赏
  • 举报
回复
别靠理解了……
死记吧……
zzcmx2008 2009-11-08
  • 打赏
  • 举报
回复
那是因为*(a+i)也是个地址,a相当于指向指针的指针。

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧