c語言中ainj表示什麼意思等價於a

2021-03-03 20:27:50 字數 3062 閱讀 7747

1樓:匿名使用者

就是將陣列a的首地址加上後面的偏移。

如果這個陣列的每個元素都是一個位元組,並且第一維的長度是n,那麼與a[i][j]等價。

*(a+i*n+j) = 0;在c語言中這個語句是什麼意思啊

2樓:募思小孩

因為 你給的資訊才少的,所以,我給你的分析是:

a i n j 我的猜測都是整型變數,你應該知道,*p =1就是,就是在p指向的那個地址空間,賦1值。

例如:p指向的那個空間地址為1000h 那麼*p就等價於*(1000h)。

那麼有了上面那個思路後,我們來看下你這個表示式:

*(a+i*n+j)=0,也就是說。在空間地址為(a+i*n+j)的地址空間上賦0值;

當然這個答案是建立在a i n j 都是整型變數的基礎上的。如果你能補充說明下a i n j 變數的型別的話,我可以再給你講下。

不懂可以繼續追問我。

3樓:匿名使用者

1.猜測這條語句中的a是一個指標(int*)或者一個陣列(int ). i,n,j都為一個整形(int)變數,如果不是,可忽略回答.

2.在1成立的條件下此語句可變型為 a[i*n+j]=0; 這句話你應該明白什麼意思了吧;

如果不懂請繼續提問!

4樓:

你定義的那些是啥??表示空

為什麼c語言中*(a+i)+j能表示a[i][j]的地址

5樓:

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來表示。

6樓:聽不清啊

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]。

7樓:匿名使用者

*(a+0)取出a[0]的值

a[0]的元素又是一個一維陣列

因此*(a+0)取出的就是這個一維元素的首地址那麼*(a+0)+0表示: 一維陣列a[n]中, a+0陣列元素a[0]的地址

*(a+0)+1表示一維陣列的1號陣列元素的地址

c語言中{t=*(a+i); *(a+i)=*(a+j); *(a+j)=t;}代表什麼意思啊 謝謝了

8樓:匿名使用者

a是一個指標,a+i表示a所指位置的下i個記憶體區,a+j同理。這個程式的功能是: 交換 a+i 和 a+j 所指記憶體內區的內容,

容t是中間變數。 就好像你要交換兩瓶飲料,一瓶汽水,一瓶果汁,交換它們,要找一個空瓶子,這裡,t就是空瓶子 a+i 和 a+j 就是你要交換的兩瓶飲料,一共要倒三次,你懂了吧!

9樓:匿名使用者

交換資料。交換(a+i)所指的元素和(a+j)所指的元素的值,用的是「水桶演算法」。

10樓:匿名使用者

通過中間變數t,交換變數i和j 的值

*(*(a+i)+j)中*(a+i)+j 代表什麼意思? // 為啥最外面還要*求值呢

11樓:匿名使用者

*(a+i)+j代表的是第 i行,j列的那個元素,這個沒有問題吧。

而那個元素是指標。不是值,所以再加*取值。 這和普通的 *p=a;一個意思。

主要原因是陣列裡面放的全部都是指標,你可以看你定義時候的宣告就知道了。

12樓:匿名使用者

給你一個形象的例子,假設有個一維陣列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個*號。

13樓:匿名使用者

這是哪種語言的程式啊?

c語言中下面**a[i][j]=0什麼意思??

14樓:

int a[11][20],定義的是二維陣列,a[i][j]表示第i+1行,第j+1列的陣列元素;

a[i][j]=0; 表示對這個陣列元素賦值。

c語言中 m行n列 a[i][j]位置為 (i*n+j+1) 什麼意思? 詳細解釋一下

15樓:莫莫_核桃

應該是a[i][j+1]吧,如果0=

(i*n+j+1)是指將矩陣a按行排列的順序讀取,可以把(i*n+j+1)看做是按照行排列的順序將a讀取的

16樓:匿名使用者

你說的位置應抄該是在記憶體裡襲面的地址位置吧。二維陣列

bai有按行du和按列的定位讀取方法;陣列zhia[m][n]按行,daoa[i][j]位置就是i*n+j;按列a[i][j]的位置就是j*m+j;畫一個矩陣圖應該更好理解的,希望對你有幫助

C語言中mi表示什麼意思C語言中im1的i是什麼意思?????????

1 首先執行i 就是i i 1,但是i 返回的值是i。2 然後執行 m i可以理解為m m i。3 示例如下 i 1 m 0 m i m值為1。i值為2。表示 m m i 注意的是,假如m的初始化為2,i的初始化為3,則m i 之後,m 5,i 4。m m i i 抱歉,三樓的不對,四樓的同意錯了!...

在c語言中表示什麼意思在c語言中是什麼意思

最近 盤 字很流行,盤是什麼意思?為什麼能成為網路熱詞?在合法的c語言中源程式 中,不考慮預處理,有意義的操作 或 只可能在以下場合見到 表示二級指標型別。例如char 是指向char 指標型別的型別,而char 型別是指向char指標的型別。一般用於指標動態陣列,例如一個確定的char 和一個長度...

c語言中,p0什麼意思,C語言中 p 0表示

p 0表示先對指標p所指向的記憶體單元賦值為0,之後,將指標p的地址減1一個記憶體單元的回大小。可以通過答如下的程式段來進行理解 int a 定義一個int型陣列,並進行初始化 int p a 2 定義一個int型指標變數,並指向a 2 所在的記憶體單元 printf x n p 輸出指標p的記憶體...