c语言指针*(*(a+i)+j)什么意思,*(a+i)为什么是地址啊,a不应该已经是地址了么,a+i为什么不是地址

a是一个二维数组

其实是可以把*(*(a+i)+j)看出是二维数组的一个值:a[i][j]。
*(a+i)看出a[i]这是一维地址,a是二维地址。
对于a+1不好判断,以数组解释不通,以指针又解释德通,我就不评价了。追问

我就是不明白既然a已经是地址了,a+i,为什么就不是呢?

追答

因为a+i既可以看出&a[0][i],又可以看出&a[i],因此产生矛盾,就不认为他是一个地址了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-22
没有上下文,你的“a不应该已经是地址了么”毫无根据。

“a+i为什么不是地址”
从这里的用法来看,a+i就是地址。

你对“地址”“数据”的概念还是一团浆糊啊。地址其实也是数据的一种。追问

a是一个二维数组

追答

什么类型的二维数组?字符型?整型?结构二维数组?

追问

整型

追答

那就是取二维数组的第i个整型对象的内容作为基地址,继续向后偏移j并取出该单元内容。

这个表达式是无法正确取出a[i][j]的内容的。

第2个回答  2013-08-22
看起来像是取一个叫a的二维数组第i行第j列的值。

c语言指针*(*(a+i)+j)什么意思,*(a+i)为什么是地址啊,a不应该已经是地 ...
其实是可以把*(*(a+i)+j)看出是二维数组的一个值:a[i][j]。(a+i)看出a[i]这是一维地址,a是二维地址。对于a+1不好判断,以数组解释不通,以指针又解释德通,我就不评价了。

C语言中如何用指针运算符来表示一个二维数组的元素及地址?
拿*(*(a+i)+j)来说:a是数组的首地址吧,然后+i,就是说a地址向后偏移i位。就是a+i的地址了,注意,这里a+i只是地址,用*符号取出该地址的数据,就是*(a+i),这里*(a+i)就是第一维指针,它指的是地址,不是数据。而且后面的*(a+i)+j就是说以*(a+i)为首地址,偏移j位,然后...

为什么C语言中*(a+i)+j能表示a[i][j]的地址
(a+i)+j就是表示下表第i行的第j个元素的地址了。所以,(a+i)+j表示的含义是元素a[i][j]的地址,也可以用a[i]+j来表示。

...上说a+i是a[i]的指针,既然这样,那么*(a+i)为什么还是
a+i其实就是&a[i],肯定是地址 (a+i)其实就是a[i],如果a是二给数组的数组名,a[i]就肯定是地址(等同于&a[i][0]),如果a只是一维数组(指针数组除外)的数组名,a[i]就不是地址(原因是:二维数组可以看作是多个一维数组组成,即数组的数组)(a+i)+j就是&a[i][j],如果数组a是二维...

...i][j]的地址为什么可以表示成*(a+i)+j难道*(a+i)还表示一个地址的...
a是一个二维数组,a[i]表示其中的一行,是个一维数组,a[i][j]表示一行里面的一个元素。(a+i)就是a[i],是一个一维数组,当然表示一个地址,表示这个一维数组里面的第一个元素a[i][0]的地址。

C语言中{t=*(a+i); *(a+i)=*(a+j); *(a+j)=t;}代表什么意思啊...
{t=*(a+i); *(a+i)=*(a+j); *(a+j)=t;} 通过中间变量t,交换变量i和j 的值

c语言:为什么&a[i][j]的值是&(a+i)+j,,,求详解!!!
首先,我们知道&a[i][j]是取的a[i][j]的地址,它是一个二维数组。对二维数组的内存分配,我们可以理解为【先存行,再存列】也就是说我们可以将int a[3][4]的存储看作是先存的一位数组a[0],a[1]和a[2],而每一个一维数组,又是一个数组,即a[0]行包括a[0][0],a[0][1],a...

...+和(*p)++(问题二)a[i][j]=*(a[i]+j)=*(*(a+i)+j)
取出的是p自加之前的指针指向的内容。第二个问题更简单了。a[i][j] 是二维数组,相当于a是一个指向指针的指针,或者说a[i]是一个数组,这个数组的每个元素又是一个一维数组。a[i] 就是指向二维数组的第i行这个一维数组首地址的指针,所以 a[i]+j 就是指向第i行第j个元素的指针。

c语言中*(a+i)与a[i]是等价的。那么*(a+i)是值还是地址?
(a+i)就是值了 (*(a+i)+j)才和a[i][j]等价

*(a+i)与a[i]是一样的地址,为什么?
在C语言中,这个都是首地址的意思,我就不懂,*(a+i)是取值呀,怎么会是地址,就这个不懂,希望帮忙,谢谢!!!我知道没错,但我不理解为什么*(a+i)也是地址,而不是指针所指的变量值呢?nishiufo00 | 浏览3988 次 |举报 我有更好的答案邀请更新 2006-05-11 最佳答案 *(a+i)与a[i]是一样的地址应该...

相似回答