m0_62282054 2021-12-26 20:18 采纳率: 89.6%
浏览 39
已结题

为什么&a【i】等价于a+i

1111111111111111111111111111111111这是因为什么,求解

  • 写回答

2条回答 默认 最新

  • dtsroy 2021-12-26 20:44
    关注

    应该说,a[i] 等价于 (a+i)
    假设有类型type,占位size字节,有一个type型数组vec,
    则vec其实并不是数组,而是数组首地址的指针,
    vec+1表示把这个指针后推一位,实际上隐含了一个乘法操作,
    vec+1实际上结果是首地址+偏移数量
    size
    这就相当于指向了数组的第i个元素
    然而vec[i]就是取内存(vec+i)号地址内容,的操作符,因此a[i] == *(a+i)
    p.s.加法交换律, vec[idx] => *(vec+idx) => *(idx+vec) => idx[vec] 是不会出错的...

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月5日
  • 已采纳回答 12月28日
  • 创建了问题 12月26日

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助