1樓:匿名使用者
*(a+i)+j代表的是第 i行,j列的那個元素,這個沒有問題吧。
而那個元素是指標。不是值,所以再加*取值。 這和普通的 *p=a;一個意思。
主要原因是陣列裡面放的全部都是指標,你可以看你定義時候的宣告就知道了。
2樓:匿名使用者
給你一個形象的例子,假設有個一維陣列a,
a代表陣列a的首地址,也就是&a對吧,*a為第一個元素的值,*a+1為第二個元素的值,也就是*(a+1);
現在是二維陣列b
*(b+i)其實就是*b+i對吧,表示陣列b的第i行地址,沒有問題吧?*(b+i)+j表示第i行地址又便宜了j個單元,也就是陣列b的第i行第j列元素的地址,這裡沒有問題吧?再加個*號,*(*(b+i)+j)就是第i行第j列元素的值。
記住一點一維陣列要獲取元素的值,必然有1個*號,二維陣列要獲取元素的值,必然有2個*號。
3樓:匿名使用者
這是哪種語言的程式啊?
為什麼c語言中*(a+i)+j能表示a[i][j]的地址
4樓:
int a[3][4]; //假設定義一個3行4列的二維陣列,所謂二維陣列就是陣列的陣列
a[0]、a[1]、a[2]是陣列a的元素,而這個元素是陣列,而不是我們通常認為的基本資料型別的資料
所以*(a+i)就是獲取陣列a中第i個元素,等價於a[i],而a[i]本身又是一個包含有4個int型數值的陣列,a[i]是這個一維陣列的陣列名,我們知道陣列名的本質是一個地址,是陣列首元素地址,所以
*(a+i)+j就是表示下表第i行的第j個元素的地址了。所以,
*(a+i)+j表示的含義是元素a[i][j]的地址,也可以用a[i]+j來表示。
5樓:聽不清啊
int a[2][3]=;
printf("%d ",*(*(a+1)+2));
以上的引用能夠輸出60
因為a是二維陣列名,所以它是指向指標的指標(二級指標)。
*(a+1)就是a[1],它是一個一維陣列,也是一維陣列的首地址(指向一維陣列首元素的指標)。*(a+1)+2就是a[1][2]的地址,*(*(a+1)+2)就是a[1][2]。
6樓:匿名使用者
*(a+0)取出a[0]的值
a[0]的元素又是一個一維陣列
因此*(a+0)取出的就是這個一維元素的首地址那麼*(a+0)+0表示: 一維陣列a[n]中, a+0陣列元素a[0]的地址
*(a+0)+1表示一維陣列的1號陣列元素的地址
在二維陣列中為什麼 *(a+i)+j 代表的是地址而不是值元素?
7樓:廨嶔昚
可以這麼說吧, 在二維陣列中,陣列名a指向二維陣列的第一行,就是&a[0]. a+i就是代表第i行地址,即&a[i]. 而*(a + i)是求第i行首元素的值,就是a[i].
這時指標從指向行元素轉為指向列元素.*(a + i)+j就是a[i]+j,是a[i][j]的地址. *(*(a + i)+j)是a[i][j]的值.
c問題,幫我解釋一下,二維陣列中 a i j為什麼表示的是地址
你要明白既然是二維陣列,那麼要得到值的話,肯定要有兩個 一個 是地址,沒有 也是地址 i 行 j 列元素a i j 的地址 c語言中 二維陣列 a i j 的地址為什麼可以表示成 a i j難道 a i 還表示一個地址的值?求高手詳細解釋 依據 c語言深度剖析 多維陣列與多級指標 章節 原文如下 以...
溫差中K代表什麼意思
k是開爾文,是國際單位制中的溫度單位。表示溫差時1k等於1 C,表示溫度時273.15k 0 C。建築規範中傳熱係數k值的單位 w m2k 中的k代表什麼含義 k代表度,代表溫度的單位,此處k可用 C代替。k值是傳熱學術語,在傳熱學裡,k值也叫傳熱係數,以往稱總傳熱係數。國家現行標準規範統一定名為傳...
公式中是什麼意思,數學公式中與代表什麼意思
公式中抄 的釋義 這是bai數學疊加求和符號 du。總和符號。的簡介 小寫 中zhi文音譯 西格馬,dao是第十八個希臘字母。中文名稱 和式號。在希臘語中,如果一個單字的最末一個字母是小寫sigma,要把該字母寫成 其在現代的希臘數字代表6。用途 用於數學上的總和符號 又稱和式號 小寫 用於統計學上...