weixin_57211156 2022-01-17 02:15 采纳率: 0%
浏览 39

c语言数组的定义和输出

img

有大神帮忙解释下为什么我定义3*3的数组我输出[0][3]和[0][4]能输出这个结果出来

  • 写回答

3条回答 默认 最新

  • 关注
    因为二维数组分配内存空间是连续着的,定义3*3的数组是连续着的9个整数空间
    a[x][y] 等于是指针形式 *(a + x*3 + y) 其中x*33是二维数组的列数
    
    a[0][3] 等于是 *(a + 0*3 + 3) 等于*(a+3) 是数组空间的第4个整数(a+0是第1个整数)
    也就等于 a[1][0]
    a[0][4] 同样等于是 *(a + 0*3 + 4) 等于*(a+4) 是数组空间的第5个整数(a+0是第1个整数)
    也就等于 a[1][1]
    
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 1月17日

悬赏问题

  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了
  • ¥15 这个公式写进SIMULINK中的function模块的代码中应该是什么样的
  • ¥15 javaweb登陆的网页为什么不能正确连接查询数据库
  • ¥15 数学建模数学建模需要
  • ¥15 已知许多点位,想通过高斯分布来随机选择固定数量的点位怎么改
  • ¥20 nao机器人语音识别问题
  • ¥15 怎么生成确定数目的泊松点过程
  • ¥15 layui数据表格多次重载的数据覆盖问题
  • ¥15 python点云生成mesh精度不够怎么办