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

关于多维数组指针的定义怎么理解?

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

我来回答

2个回答

热心网友 时间:2023-08-06 02:11

C/C++的静态数组语义是相同的。数组名可以表示整个数组(例如在sizeof和&运算符作用下);更多情况下退化为指针,表示首个元素的地址。在语言特性上C和C++都不直接支持*数组。通常所谓的(静态的)*数组是指嵌套数组,也就是元素为数组的数组。
----
对于二维数组a,第一维下标i和第二维下标j,*(a+i)+j可以这样理解:
a表示二维数组的首地址;
*(a+i)等价于a[i],是a的一个直接元素,这个元素本身是一个一维数组,等于&a[i][0](LZ“*(a[0]+1)就是a[0][1]的地址”有误,应为a[1][0]的地址);
*(a+i)+j等价于(*(a+i))+j,表示上述数组的下标为j的元素的地址,即&a[i][j]。
----
bee99635表达方式中有错误。
a[0][1]的地址应该可以有以下的表达方式:
&a[0][1]、&a[0][0]+1、&(&a)+1、&(*(a+0))[1]、*(a+0)+1、0[a]+1、&0[a][1]等。(下标和数组名互相交换和交换前等价,但仅在部分编译器中有效。)
----
PS.不建议看谭某人的书,容易越看越糊涂。
====
[原创回答团]

参考资料:原创

热心网友 时间:2023-08-06 02:11

a[0]+1是a[0][1]元素的地址,那么,*(a[0]+1)就是a[0][1]的地址

这句话我就无法理解了,你不觉得这句话很矛盾么?

a[0][1]元素的地址表达方式有以下几种:
&a[0][1]、a[0]+1、*(0+1)+1、&[0][0]+4*0+1、a[0]+4*0+1

建议看看外国教材

老谭的教材里也是有不少错误的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
石璜镇历史演变 ...突突的声音,排气管还冒黑烟,有时走也是走走停停的, 我手机型号步步高V206的,手机的内存U盘显示以满但我查看了手机,手机里 ... 步步高v206,我想下载手机英语,希望各位指点指点,哪里有下载,下载后具体... 步步高V206B手机怎么下载java软件 如何通过化妆修饰不同脸型和鼻型? 最近我的手机总是莫名收到一条短信,说的SIM卡已被更换,这是怎么... 丈母娘和女婿什么相处模式最和谐? 女婿怎么跟岳父岳母搞好关系? 诛仙2中宠物怎样恢复到绑定前 多维数组常量的定义 python新手求助:如何定义多维数组 JavaScript中如何定义多维数组? 1. 多维数组的定义和初始化 [转]C#如何定义和使用多维数组 c#中多维数组的定义? 多维数组什么意思? 多维数组的定义 海尔售后的微信公众号是什么? 全国农险平台微信公众号核实信息 微信小程序开发能给企业带来什么好处 航天金税微信公众号 企业进行微信小程序开发的好处有哪些? 为什么每个人都该有个公众号? 公众号是由哪个公司创立? 如何申请买买自媒体孵化? 英雄联盟历届世界总决赛都在哪开的 酉阳县有搞微信公众号开发的公司没 lols6什么时候开始_lols6赛程安排及时间表 英雄联盟2016全球总决赛冠军是谁 R语言定义多维数组 怎样在程序中定义多维数组 数组的定义是什么? VB或者VBA中动态多维数组的定义及运…… vb 定义动态多维数组。 请问如何用List定义多维数组? C语言的多维数组怎么嵌套定义,以及怎么赋值? 多维数组的地址 C语言多维数组的赋值 Omron PLC是否可定义多维数组?如何定义? 苹果7如何从ios11更新到13 升学宴学生幽默致辞 升学宴主持词有哪些? 升学宴的请柬怎样写 升学宴给每桌敬酒时说什么 升学宴给每桌敬酒时应该说什么 男女的男怎么组词 朋友家孩子的升学宴,作为长辈,该怎么说致贺词? 男女的男怎么写 “男女男”这个字念什么啊,怎么拼