33问答网
所有问题
在二维数组与指针中,*(a+i)=a[i],*是取出这个地址的值,而右边是首地址常量,两边不相等呀?
怎么理解?谢谢!
举报该问题
推荐答案 2011-05-18
你要记住 a[i]和*(a+i)等价的,
但在二维数组中表示的是 地址。
在一位数组中是直。
你可以这样理解,
一个一位数组,他的每个元素都是一个数组,那他就是一个二维数组,
那么a[i]或*(a+i)就表示相应的那个元素,而这个元素是一个数组,
当然a[i]或*(a+i)指的就是这一数组的首地址,
以此推之,a[i]+j或*(a+i)+j就是&a[i][j]
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://33.wendadaohang.com/zd/c05RBhdRh.html
其他回答
第1个回答 2011-05-18
首地址常量是a,而a[i]不是,而是以a开始后面第i个单位的地址的值,也就相当于*(a+i)=a[i],
第2个回答 2011-05-18
很正常
相似回答
在二维数组
里
地址a[i]和地址*(a+i)的
问题
答:
a[i]和*(a+i)
表示的是同一个
地址,
对于数组来说,计算机计算
地址都是
以*(a+i)进行计算,也就是换算成
指针的
形式.对于
二维数组,
你要搞清楚所
取的地址
是对谁而言的.很显然
,a[i]是
第i行的地址,这是相对于行而言的,也就是说,a[i+1]就是下一行的地址了.&
a[i]是不
一样的,首先,a[i]是...
C语言、
二维数组指针中的
*
和
&
答:
我看了你说的这两页,书上的原话是这样的:“
在二维数组中,
a+i
,*(a+i),
&
a[i],
&a[i][0]的值相等,即他们都是同一
地址值
”,要注意这个字眼“地址值”,也就是说,这几种表达方式并不是内存中存的数值,而是存放
数组的地址的值,
首先要弄明白
,首地址这个
概念,如果只写数组名,就代表...
二维数组中*(a+i)是
什么意思
答:
在C语言中规定,
数组
名代表的是数组首元素
地址
。a是
二维数组
的数组名,因此,
在二维数组中*(a+i)
表示的是第i+1行0列元素的地址,即a[i][0]的地址。而a+i表示的是第i+1行的首地址。
大家正在搜
指针与二维数组的关系
指针二维数组的各种表示
用指针求二维数组的和
二维数组指针赋值
指针输出二维数组
指针怎么指向二维数组
二级指针和二维数组
若二维数组a有m列则在aij
怎么把二维数组用指针