qq_49241380 2021-12-01 17:42 采纳率: 33.3%
浏览 11

双重指针和二维数组赋值的问题?

int arr[2][2] = {{1,2},{3,4}};
int **p = arr;
为什么这样给双重指针赋值不对。

  • 写回答

1条回答 默认 最新

  • 南七灵 2021-12-01 17:46
    关注

    二维数组名相当于指针,但是它是一个指向数组类型(也就是整型或者字符型,具体取决于你数组的定义)。而二级指针在真正意义上也是一个指针,但它是一个指向指针的指针。
    在寻址时,拿整型数组举例,直接引用数组名,系统会在数组名指向的地址往后寻址2个字节得到一个整型数字。而引用二级指针时,系统会在指针指向的地址后寻址4个字节得到一个地址,所以两个不能相互赋值。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月1日

悬赏问题

  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥15 关于超局变量获取查询的问题
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集
  • ¥15 在启动roslaunch时出现如下问题
  • ¥15 汇编语言实现加减法计算器的功能