為什麼c語言中a0a0a0是相等的

2021-04-21 23:05:15 字數 2306 閱讀 4726

1樓:匿名使用者

陣列的bai首地址也是指

du針,int a[10],int *p.這裡的a和p都是指標。只zhi不過,陣列的首地dao址不能改變

專,而p可以指向其他地址。屬

a[0]表示陣列a的第一個元素

*(a+0)也表示陣列的第一個元素

&a[0]表示陣列的第一個元素的地址,也就是首地址。

2樓:crazy_小豬

誰告訴你這3個是相等的?

為什麼c語言裡面二維陣列a[][],a,a[0],*a,*(a 0)值相等

3樓:匿名使用者

沒學過c,我猜一下,你定義了一個二位陣列後,就會有一個指標指二維陣列的首地址,上面的各種表達樣式都是說明的這個指標,而沒有改變這個指標的指向,所以值是相同的

在c語言裡面,&a[0]++和&a[0]+1分別表示什麼意思?

4樓:

&a[0]++;是錯誤語句,編譯都不會過。因為++是後++,在執行該語句時是不計算的,所以a[0]++是個表示式而不是值,顯然用&取一個表示式的地址是非法操作!而如果是&++a[0];則是正確的,因為前++在執行&時已經計算過了:

就是先給a[0]+1,然後再取a[0]的地址。

&a[0]+1;是正確語句,因為&的優先順序比+高,所以是先取a[0]的地址再給這個地址+一個元素所佔位元組數——就是說&a[0]+1是a[1]的地址。

5樓:匿名使用者

&a[0]++表示程式執行時會對執行結果自加1

&a[0]+1表示程式執行時對結果加上1,如果改為2就會加上2

6樓:一輩子朋中

他們的結果一樣,都是a[0]的地址加一

7樓:百度使用者

a[0]表示陣列a 的第一個元素,

&a[0]是取a[0]在記憶體中的地址

&a[0]++是將a[0]在記憶體中的地址向前移動一個單位.

理論上&a[0]+1和&a[0]++的執行效果是差不多的

8樓:匿名使用者

不一樣!

++的優先順序比&高,&比+高!

所以&a[0]++是進行a[0]=a[0]+1之後,在取a[0]的地址

而&a[0]+1是先取a[0]的地址,然後將指向這個地址的指標(假設int *p;p=&a[0];)移動一個資料長度,即指向了a[1];

&a[0]++

就是&a[0]+1就是

9樓:匿名使用者

這要看你要說的是

一維陣列還是二維陣列了,如果是一維,答案同atchoo,要補充的是,向前移動的是陣列資料型別所佔的記憶體空間,比如是int,就移動2個單元;如果是二維,

a[0]表示第一行首地址,&a[0]表示第一行第一列首地址,&a[0]++就是把第一行第一列的元素加1.

10樓:匿名使用者

有人說a = a + 1;比a++;慢,但現在的編譯器結果是一樣的.

11樓:信培勝戊衣

編譯錯誤如下,都是取得陣列a的第二個元素的地址&a[0]++與&(a[0]++)等價:6,無法編譯通過,不能取得地址;

表示a[0]++不是一個左值:

non-lvalue

inunary

`&'.cpp:

main。

而&a[0]+1與a+1和&a[1]是等價的

c語言中*(*(a+0)+1)是什麼意思

12樓:飛天失憶豬

a指向一個二維數列,是一個指標的指標,*(*(a+0)+1)是第一行第二列元素的值

c語言指標:a為二維陣列,那a[0]是什麼型別?是指標還是陣列?

13樓:匿名使用者

a代表陣列的地址,也是陣列第0行元素的地址,是同一個值。

14樓:匿名使用者

a[0]固然是個指標,可以它是個二重指標啊,所以還有個指標存放這個指標地址

15樓:不是知道很多

a[0]是指標,

型別是int*。

a[0]是a[0][10]的首地址,a[0]=&a[0][0],a[0]每加

1移動一個int,a[0]+1=&a[0][1]a可以看內作a[3]的首地址,a=&a[0],a每加1移動10個int,a+1=&a[1],a的型別是容int(*p)[10],a是一個指標,指向含有10個元素的陣列

請問c語言中0是什麼意思,C語言中 0 是什麼意思

字元常來量佔一個位元組的記憶體空間自。字串常量佔的內bai存位元組數等於字元du串中字zhi節數加1。增加的一個dao位元組中存放字元 0 ascii碼為0 這是字串結束的標誌。例如 字串 c program 在記憶體中所佔的位元組為 c p r o g r a m 0 字元常量 a 和字串常量 a...

c語言中n0什麼意思,c語言while(n! 0)什麼意思

轉義字元。1 0其實就是0,字串存入字元陣列的時候最後一個字元作為字串的結尾。告訴計算機,這個字串結束了。2 n是回車換行,挺長用的。比如 printf d n a 就會輸出a的值以後,自動換行。putchar n 輸出一個回車。其它的你可以瞭解一下 t,相當於一個很大的空格。根據你的補充提問 0是...

在c語言中s i0是什麼意思,C語言中 s i 0 是什麼意思?

判斷 字串s在第i i 1 個字元處 是否結束 這裡 0 在c語言中 標示一個字串的結束,是很重要的概念 c語言中 s i 0 是什麼意思?0是字串結尾的標誌,這裡是在判斷字串是否到了最後 結尾 每個字串都以 0 結尾,s i 表示字串第i個字元,所以 s i 0 判斷是否到結尾。100表示數內組c...