在二维数组与指针中,*(a+i)=a[i],*是取出这个地址的值,而右边是首地址常量,两边不相等呀?

怎么理解?谢谢!

你要记住 a[i]和*(a+i)等价的,
但在二维数组中表示的是 地址。
在一位数组中是直。
你可以这样理解,
一个一位数组,他的每个元素都是一个数组,那他就是一个二维数组,
那么a[i]或*(a+i)就表示相应的那个元素,而这个元素是一个数组,
当然a[i]或*(a+i)指的就是这一数组的首地址,
以此推之,a[i]+j或*(a+i)+j就是&a[i][j]
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-18
首地址常量是a,而a[i]不是,而是以a开始后面第i个单位的地址的值,也就相当于*(a+i)=a[i],
第2个回答  2011-05-18
很正常