shaqianmo 2015-01-09 16:01 采纳率: 0%
浏览 1989

关于二维数组a中,a[1] 与 &a[1]相等的一个疑问?(从来没弄懂)

对二维数组a[][]来说,a[1] 与 &a[1]相等。我来分析一下我的误解:
首先,a[m] 里面的内容是一个一维数组的首地址。
而 &a[m] 是 a[m] 的地址,它们相等。
说明 a[m] 的内容其实就是他本身的地址编号 (把 a[m] 看成一个变量)

对于一个内容就是地址的变量m,&m 与 m 相等 毋庸置疑。

然而 &a[m][0] 也等于 a[m]
说明 a[m][0] 的地址 就是 a[m] 的内容 , 也就是 a[m] 的地址;
那么,a[m][0] 与 a[m] 就是在同一地址上的不同变量名了(我知道变量这种说法不太准确)

但是,同一个地址,a[m][0] 与 a[m] 的内容确是截然不同,为什么。

我希望那位朋友能耐心看完我的想法,帮我走出误区,感激不尽!

  • 写回答

5条回答

  • threenewbee 2015-01-09 16:15
    关注
     对于二维数组a[m][n]
    a 表示 int (*)[m]
    &a 表示 int (*)[m][n]
    a[m] 表示 int *
    &a[m] 表示 int (*)[m]
    a[m][0] 表示 int
    &a[m][0] 表示 int *
    
    评论

报告相同问题?

悬赏问题

  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘