问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

二维数组名和指针的关系

发布网友 发布时间:2022-06-28 04:21

我来回答

4个回答

热心网友 时间:2023-10-06 04:32

应该这样写

int a[10][10];
int (*p)[10]=a;

p是行指针,一行有10个元素

热心网友 时间:2023-10-06 04:32

int a[10]; int *p=a代表将a数组的地址传给指针p,而a[10][10]的a既不代表一行的地址也不能代表整个二维数组的地址,所以无法传给**p啊

热心网友 时间:2023-10-06 04:33

http://zhidao.baidu.com/link?url=vT2-_gYAxZd9-GI2ptEXOJ402Ndc99L4DRohoh7WMnNG7aWdG_XePN509ry31fIBDz5H_SntMpe4NU9FQpQ3Za
百度知道上已经有类似的问题了

热心网友 时间:2023-10-06 04:33

二维数组名即数组地址,指向首行地址,表面上看,行地址即一维数组指针,而数组名指向行就应该是指针的指针,但是必须注意指针也是有类型的,类型不同数据宽度也不同。
如果a[10][10],假设int **p=a; 那么要对行递增执行p++时,编译器如何知道列宽?因为int **是指指向一个 int *类型的指针,32位系统中int *的宽度为4字节,即地址宽度是4字节,因此p将指向下一个元素(整数指针),也就是p递增了4字节,而不是10个int型数据的宽度,这就错位了。
所以a[10][10]的地址类型不是简单的指针的指针,而是行指针的指针,而行宽是由你定义的数组列数和元素类型所决定,int类型就是4*10=40个字节。这叫数据对齐。因此编译器在转换数组名时,会根据对齐要求而确定相应的指针类型,所以a的地址类型应该是int (*)[10],而不是int **。
所以应该这样:int (*p)[10]=a;
其含义为,p是一个指向(含10个int类型元素的一维数组或行的)指针,其实本质上任何指针都是4字节(32位系统),你完全可以将一种指针类型强制转为任何其他类型,那为什么还要区分指针类型,就是为了指针运算时实现数据对齐,准确定位。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小白开始做牛腩烧番茄前,应该做哪些准备? 普洱茶不管是纯料还是拼配它本身就很有意思 普洱茶的纯料VS拼配,谁更值得珍藏? 为什么我们听到熟悉的歌曲的音乐会感觉在唱歌词呢? abs制动防抱死系统什么时候用到 请问有谁知道离朝阳北路的煊特嘉园(炫特区)最近的浩沙健身俱乐部在哪 ... 朝阳北苑郊野公园有哪些 北苑哪些公园 北京北苑健身有哪些 王者荣耀黄忠开大怎么转圈 二维数组和指针(本人新手) C语言中关于二维数组和指针的问题 关于二维数组和指针数组的小问题 指针数组 和二维数组 C 语言指针的指针和二维数组的区别? 二维数组和二级指针 C语言指针与二维数组? 请问我的PS的工作区该怎么恢复到基本功能的初始状态?不晓得为什么就这样了,谢谢! ps在修改界面工作区误删了默认工作区怎么办 误删PS基本功能工作区(就默认那个)要怎么恢复啊? ps工作区删除了怎么恢复 求可用的rhino5 sr11 cd-key rhino 5.0 有哪些新功能 安装了 rhino5 sr5 sr11 显示模式都没有btm 请问为什么 一加5T 的配置如何评价? 拔火罐的酒精按比例兑水后可以做医用酒精吗? 使用无水乙醇拔火罐, 快要毕业了,可是偏偏得罪了辅导员,会不会影响我毕业呀,刚刚给了她实习证明涵,她会不会不给签字和盖章 山东省畜牧职业学院专升本报辅导还要出去实习吗 本人简单的心理咨询对外开放,望能对需要的人提供一些帮助! 5173接代练全过程 5173怎么接LOL代练单 5173怎么接单啊 5173怎么交易 周六日可以去网点激活信用卡吗? 工行周六可以领取信用卡吗?还是必须工作日才可以? 工商银行星期六能激活信用卡吗 12星座男生怎么备注女朋友 东莞长安厦岗工商银行星期六有上班吗?我想去激活信用卡,希望知情人士告知谢谢! 单身汉得重病无人照顾如何申请养老院? 怎么申请去养老院做志愿者- 问一问 有没有最新的CAXA线切割破解版下载地址。先谢了 caxa-eb/v2 下载 跪求!caxa电子图版与caxa实体设计在win7 64位上能安装运行的破解版 卖文具技巧和话术,比如客户讲价。 8岁孩子缺锌和钙吃什么好 为什么农历腊月二十三要叫做小年呢 最新“部编版”小学语文古诗有哪些? 浙江石化 预分配 怎么取消 浙江石化HM5411EA物性参数- 问一问