早教吧作业答案频道 -->其他-->
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语言中指针引用二维数组元素...的网友还看了以下:
(2007•义乌市)“义乌•中国小商品城指数”简称“义乌指数”.下图是2007年3月19日至200 2020-04-08 …
设定义域R函数f(x)=sinx2(其中sinx2意指x2的正弦值)(1)请指出该函数的零点、最大 2020-04-12 …
C++中this的选择题下列说法正确的是??A.this指针存在于每个函数之中B.在类的非静态函数 2020-05-13 …
matlab 怎么样用我指定的函数进行拟合我的实验数据?我现在收集到了一些实验数据,在位置x = 2020-05-16 …
int(*p)();是什么设有语句int(*p)();则p是一个() A.指向一维整型数组的指 2020-05-17 …
下面关于居民消费价格指数的说法中正确的有( )。A.该指数可反映通货膨胀状况B.该指数能反映货币购 2020-05-21 …
按照某种指数的构成标准,购买该指数包含的证券市场中全部或部分证券,以达到与该指数同样收益水平 2020-05-27 …
某股票价格指数的基期指数为100点,10只样本股基期的总市值为20亿元,报告期的总股本为5亿股,报 2020-07-10 …
下表是全国7个城市2017年3月份某日空气质量指数(AQI)的统计结果:城市北京成都深圳长沙上海武 2020-07-19 …
已知函数y=(x+1)的平方-4指出函数图像的开口方向对称轴和顶点坐标(1)若图像与X轴的交点A、 2020-07-20 …