早教吧作业答案频道 -->其他-->
C语言中指针引用二维数组元素问题假设a是一个3行4列的二维数组,请问为什么a[0]与*(a+0)是等价的,我的理解是二维数组名a既然是该数组首元素的地址,那么(a+0)也是一个地址,“*(a+0)”就
题目详情
C语言中指针引用二维数组元素问题
假设a是一个3行4列的二维数组,请问为什么a[0]与*(a+0)是等价的,
我的理解是二维数组名a既然是该数组首元素的地址,那么(a+0)也是一个地址,“*(a+0)”就是指向“(a+0)”这个地址的内容(即首个元素值).
a[0]与*(a+0),一个元素地址和一个元素内容又如何能等价~
请懂C语言的人帮忙解答,指出我的思维误区.我都为这问题冥思苦想好几天了,每次拿起书本就把该节内容看一边,就是不理解这了.
假设a是一个3行4列的二维数组,请问为什么a[0]与*(a+0)是等价的,
我的理解是二维数组名a既然是该数组首元素的地址,那么(a+0)也是一个地址,“*(a+0)”就是指向“(a+0)”这个地址的内容(即首个元素值).
a[0]与*(a+0),一个元素地址和一个元素内容又如何能等价~
请懂C语言的人帮忙解答,指出我的思维误区.我都为这问题冥思苦想好几天了,每次拿起书本就把该节内容看一边,就是不理解这了.
▼优质解答
答案和解析
(a+0)是地址没错
“*(a+0)”就是指向“(a+0)”这个地址的内容(即首个元素值)这句话也没错
因为a这个地址中放的也还是一个地址
例如:
a[3][3] = { 1 , 2 , 3
4 , 5 , 6
7 , 8 , 9 };
1的地址就是a[0], (a[0]是a[0][0],a[0][1],a[0][2]中第一个数据a[0][0]的地址,下同理)
4的地址就是a[1],
7的地址就是a[2].
然后你再把这个1、4、7组成的a[0],a[1],a[2]看做一个一维数组
那么a(也可以说是a+0)表示的就是第一个数a[0]的地址.
所以*(a+0)就是地址a中所存放的数值(即a[0]),只不过这个数值是个地址的编号罢了~ 因为地址也是一串数字啊~
你可以就用这个a[3][3]写段代码试试~ 输出 *( *(a+1) + 2 ) 看看是不是等于6~
“*(a+0)”就是指向“(a+0)”这个地址的内容(即首个元素值)这句话也没错
因为a这个地址中放的也还是一个地址
例如:
a[3][3] = { 1 , 2 , 3
4 , 5 , 6
7 , 8 , 9 };
1的地址就是a[0], (a[0]是a[0][0],a[0][1],a[0][2]中第一个数据a[0][0]的地址,下同理)
4的地址就是a[1],
7的地址就是a[2].
然后你再把这个1、4、7组成的a[0],a[1],a[2]看做一个一维数组
那么a(也可以说是a+0)表示的就是第一个数a[0]的地址.
所以*(a+0)就是地址a中所存放的数值(即a[0]),只不过这个数值是个地址的编号罢了~ 因为地址也是一串数字啊~
你可以就用这个a[3][3]写段代码试试~ 输出 *( *(a+1) + 2 ) 看看是不是等于6~
看了 C语言中指针引用二维数组元素...的网友还看了以下:
如何理解微分我学微分真的委难!可不可以这样理解微分中的dy是指dx所引起的微小增量,反应的是原函数x 2020-03-31 …
邓稼先“鞠躬尽瘁,死而后已”指()A.引语B.否定或讽刺C.特定称谓D.强调突出“四人帮”指()A 2020-05-13 …
AIDMA方法是指()。A.引起注意B.购买需求C.产生兴趣D.唤起欲望E.购买选择F.记忆与确信 2020-05-27 …
我还有个关于C的问题.麻烦也帮忙指教下.inta=5,b;b=++a*--a;结果运行b=25;我 2020-06-15 …
期刊因子即年指标自引率被引率之间的关系1、影响因素和即年指标哪个更重要,哪个更有优先性?即年指低和 2020-07-08 …
2013年2月朝鲜进行了第三次核试验,引起国际社会的极大关注.235U是一种重要的核燃料,这里的“ 2020-07-19 …
通常人们会认为,人的情绪及行为反应是直接由诱发性事件A引起的,即A引起了C。而心理学中的ABC理论则 2020-11-02 …
关于引用和指针的说法中,不正确的为:a.引用和指针在声明后都有自己的内存空间。b.引用必须在声明时初 2020-11-11 …
若用假想的引力场线描绘质量相等的两星球之间的引力场分布,使其它星球在该引力场中任意一点所受引力的方向 2020-12-01 …
pcr中的引物A.引物自身不应该存在互补序列B.引物中的碱基组成应该尽可能与靶基因两侧序列互补C.应 2020-12-05 …