int arr[2][2] = {{1,2},{3,4}};
int **p = arr;
为什么这样给双重指针赋值不对。
双重指针和二维数组赋值的问题?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 南七灵 2021-12-01 17:46关注
二维数组名相当于指针,但是它是一个指向数组类型(也就是整型或者字符型,具体取决于你数组的定义)。而二级指针在真正意义上也是一个指针,但它是一个指向指针的指针。
在寻址时,拿整型数组举例,直接引用数组名,系统会在数组名指向的地址往后寻址2个字节得到一个整型数字。而引用二级指针时,系统会在指针指向的地址后寻址4个字节得到一个地址,所以两个不能相互赋值。解决 无用评论 打赏 举报
悬赏问题
- ¥15 marlin编译错误,如何解决?
- ¥15 有偿四位数,节约算法和扫描算法
- ¥15 VUE项目怎么运行,系统打不开
- ¥50 pointpillars等目标检测算法怎么融合注意力机制
- ¥15 关于超局变量获取查询的问题
- ¥20 Vs code Mac系统 PHP Debug调试环境配置
- ¥60 大一项目课,微信小程序
- ¥15 求视频摘要youtube和ovp数据集
- ¥15 在启动roslaunch时出现如下问题
- ¥15 汇编语言实现加减法计算器的功能