為什麼說它是用來引用陣列的第i行第j列

2025-02-05 06:05:21 字數 2924 閱讀 3755

1樓:網友

首先&a[0][0]代表陣列第乙個元素的起始位址,4應該是二維陣列的每行的元素個數,給位址加1就是指向了下乙個元素,你給位址加了(4*i+j),就到第4*i+j個元素,自然是a[i][j]了。

2樓:網友

從圖中給出表示式可以看出 a 是乙個4列的二維陣列。假設這個資料定義為 int a[5][4]

現在分析圖中的表示式*(&a[0][0] +4*i + j)的含義:

1)首先將()中的表示式看成乙個整體,用e1表示: e1= &a[0][0]+4*i+j,那麼 *(e1)的含義是取出e1所指向記憶體單元的內容(值)。

2)在 e1 =&a[0][0]+4*i+j 中 , a[0][0] 是陣列a第0行第0列的位址,也就是陣列第乙個元素的位址; &a[0][0]+4*i+j 的意思是從首元素位址開始「往後」偏移 4*i + j。因為陣列每行有4個元素,所以偏移量 4*i+j 實際上偏移了 i 行 j 列。

3)基於上的分析表示式 *(a[0][0] +4*i + j)的意思是取出二維陣列第i行第j列元素值;而表示式 &a[0][0] +4*i + j 是指向二維陣列第i行第j列的指標。

若有定義:int a[2][3]; 則對a陣列的第i行第j列元素值的正確引用為:

3樓:網友

a 呵呵c語言的? 2級指標。

a+i) 就是a[i]的意思+j 就是a[i][j] 外面再加個*好就是取a[i][j] 的值。

(求解釋)若有定義:int a[2][3]; 則對a陣列的第i行第j列元素位址的正確引用為:

4樓:網友

d!絕對沒錯。

可以看看。這裡有課件解釋。

5樓:網友

如果沒有意外,應該是:d

若有定義: int a[2][3];則對a陣列的第i行第j列(假設i,j已正確說明並賦值)元素值的正確引用為( )。

6樓:小溪趣談電子數碼

答案為a項。元素值的正確引用為*(*a+i)+j)。

這個題目主要是考查二維陣列元素的引用方法。選項a中a+i指向陣列a的第i+1行,*(a+i)則是第i+1行第0列的位址值,*(a+i)+j指向了陣列a第i+1行,j+1列,*(a+i)+j)取到的是陣列a的a[i][j]元素。所以正確答案為a項。

7樓:網友

選 a。因為 a 是位址的位址(或者說指標的指標),所以必須用到兩次 * 才可以。

a+i) 相當於 a[i],*a+i)+j) 就相當於 a[i][j]。

vb陣列a(i,j) ,隨機輸出乙個4行3列的100以內的陣列,然後要求第一行和第三行交換後輸出

8樓:網友

private sub form_load()= true

dim a(4, 3), i, j, l

randomize

print "隨機生成為:"

printfor i = 0 to 3

for j = 0 to 2

a(i, j) = int((101 * rnd) +0)print a(i, j),next j

printnext i

j = 0for j = 0 to 2

l = a(0, j)

a(0, j) = a(2, j)

a(2, j) = l

next j

printprint "第一行和第三行交換後輸出為:"

printi = 0

j = 0for i = 0 to 3

for j = 0 to 2

print a(i, j),next j

printnext i

end sub

引用陣列元素*(*(a+i))是什麼意思

9樓:網友

這個是二維陣列的。

先這樣寫:(*a+i)+j)

表示的是第i+1行第j+1列···

所以很明顯的是這裡j=0

也就是代表的是第i行的第乙個元素···

10樓:匿名使用者

*(*a+i))

這樣 a 是二維陣列。

比如 a[5][5]

*(a+1)) 就是 a[1][0]

*(a+2)) 就是 a[2][0]

*(a)+1)) 就是 a[0][1]*(a+2)+1)) 就是 a[2][1]

如何呼叫陣列a(i,j)中的i,j

11樓:網友

i,j 是陣列a的下標(變數),呼叫它幹什麼?是使用吧?

一般情況下這樣用:

for(int i=0; i

12樓:湖水

利用迴圈語句或指標來進呼叫或更改值。

例如*(j+*(a+i))

或一般情況下這樣用:

for(int i=0; i<10; i++)for(int j=0; j<20; j++)

13樓:黃理

您先說下,你要知道什麼吧?

pascal問題:輸入一m行n列陣列,將第i行與第j行元素對調(i,j < m)。

14樓:網友

可以用箇中間陣列。

array b[

用個迴圈 a[n]:=b[i]

b[i]b[j]

b[j]a[n]

具體pascal的語法我也不太記得了。

估計看了以上 你能知道。

它是薩摩耶嗎?為什麼有人說它像狐狸,要是薩摩請問它純嗎?謝謝了

薩摩寶寶,三個月了吧。挺漂亮的真正的薩摩有些像狼或狐,後來改良了熊版的,就是嘴又短又寬。剛入手的一隻薩摩,感覺臉有點像狐狸,求鑑定到底是不是薩摩耶!沒 而且按你的意思不是薩摩的話就是狐狸咯?為什麼有人說這是雜交的 不想薩摩耶?明明就是兩隻薩摩配的啊 狗狗還小,還沒有長出樣子來。等兩三個月以後就可以分...

i e 到底是什麼意思 為什麼老有人說它是 例如 的意思 那

i.e.that isto say.這就是說.一般性的大辭典上都有解釋,諸如英漢高階 i.e.是拉丁文 idest的縮回 寫,它的答意思就是 那就是說,換句話說 等同於 thatis,in other words 目的是用來進一步解釋前面所說的觀點。e.g.是拉丁文 exempli gratia 的...

求問個c語言問題,為什麼二維陣列做引數引用時,陣列要填下標

不清楚你學指標沒,如果學了這個問題就好說了.二維陣列是一個二級指標,而一維陣列就是版一個普通的指標權.二維陣列其實也是一維的,只是它的一個元素還是一個陣列.而一維陣列要得到一個元素可以這樣 p i 這樣是完全等價於p i 的.而二維陣列想要得到它其中的一個元素就要這樣 int i 10 3 i 1 ...