weixin_44827091 2021-10-31 14:51 采纳率: 0%
浏览 52

C语言中,数组名为什么代表首地址?

数组名究竟是不是一个指针常量?为什么它就可以代表首地址?
有一个博主的回答是这样的,觉得很有意思,不过讲的很定性,要是详细一些就更好了

1.对于一个数组,比如int a[4],它的数组名a代表首地址,这是为什么呢,看了很多解释,感觉都很扯淡,其实如果我们从汇编的角度来看数组,就非常简单了

数组的0.1.2.3都是偏移地址,而a 就是段地址, 这个段地址的值根 第一个元素的地址是一样的,所以指向第一个元素,段地址中这跟汇编的寻址方式有 异曲同工的地方,就是这么简单,a代表一个首地址,然后加上偏移量就可以定位每个数组的地址,

——
版权声明:本文为CSDN博主「huxiaokang1234」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:

那么,怎么从汇编的角度来看待数组?又该如何解释呢?
先留个坑,希望将来能够给到真正本质的回答。

  • 写回答

3条回答 默认 最新

  • 信仰869 2021-10-31 15:03
    关注

    然后加上偏移量就可以定位每个数组的地址
    更正一下,是定位每个数组元素的地址

    评论

报告相同问题?

问题事件

  • 创建了问题 10月31日

悬赏问题

  • ¥15 esp32驱动GC9A01循环播放视频
  • ¥15 惠普360g9的最新bios
  • ¥15 配置hadoop时start-all.sh老是启动失败
  • ¥30 这个功能用什么软件发合适?
  • ¥60 微信小程序,取消订单,偶尔订单没有改变状态
  • ¥15 用pytorch实现PPO算法
  • ¥15 关于调制信号的星座图?
  • ¥30 前端传参时,后端接收不到参数
  • ¥15 这是有什么问题吗,我检查许可证了但是显示有呢
  • ¥15 机器学习预测遇到的目标函数问题