11问答网
所有问题
C语言:通过指针引用多维数组一节中,二维数组a[0]和*(a+0)等价,怎么理解?
如题所述
举报该问题
推荐答案 2014-06-20
理解这个问题的要点是:
二维数组
是 元素为一维数组的一维数组。
于是
a[0]是作为二维数组首元素的一维数组名,所以a[0]表示一维数组(实际是二维数组首行)首元素的地址,即,a[0]是a[0][0]的地址;
数组名a是指针,指向其首元素(a[0]),即其值为&a[0](&a[0]指向a[0][0]),所以*(a)(即*(a+0))指向指向a[0][0];所以,a[0]与*(a+0)等价,都是指向a[0][0]。
不知这样说能不能理解。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://11.wendadaohang.com/zd/F24S8v8MM2q42qvFMSq.html
其他回答
第1个回答 2014-06-20
a[0]表示在数组a中的第一个元素。
*(a+0)要理解这个首先要知道*a表示指向数组a的指针的值。
一般都是指向第一个,而指针加0则表示指针指向的偏移量加0.加0之后还是0,也就是没有偏移,即*(a+0)等价于a[0].
追问
好像有点明白了,但又不太懂,我再慢慢想想,想通了就采纳你的。。。^_^
噢,想起来了,为啥*(a+0)变成地址了呢?
追答
那个不是地址,*(a+0)这个是一个指针指向地址的值
相似回答
在
c指针
的
通过指针引用多维数组中,
为什么
a[0]和*(a+0)等价
答:
(a+0)
这里的*号不是取内容符号,根据一维
数组和
指针的关系,*a(+0)
指针a[0]
的另一种表示方式,
大家正在搜
c语言中指针和数组的应用
c语言指针怎么指向数组
c语言数组指针的引用
c语言中指针指向数组
c语言用指针数组排序
c语言用指针输出数组
c语言中指针与数组的区别
c语言数组指针加一
指针与数组c语言
相关问题
在c指针的通过指针引用多维数组中,为什么a[0]和*(a+0...
C语言 指针引用二维数组 为什么
c语言 二维数组a【0】与a与a【0】【0】有什么区别?
c语言二维数组与指针,我想知道为什么*(a+1).与显示中的...
C语言中指针引用二维数组元素的问题
c语言指针:a为二维数组,那a[0]是什么类型?是指针还是数...
二维数组中,*a和*a[0]为什么不同。
c语言二维数组用指针表示的问题