C中陣列名a和a的不同之處,陣列名a和a有什麼不同

2021-03-03 20:48:17 字數 2434 閱讀 2343

1樓:折柳成萌

c/c++裡面的陣列名字抄會退化為指標,襲所以陣列名a實際指的是

陣列的第乙個元素的位址。而陣列名作為指標來講有特殊性,它正在它所指向的記憶體區域中,&a的值和a的數值是相同的(可以輸出觀察一下),但是型別和意義不同。而指標的加法操作和指向的資料型別密切相關。

比如:int a[10]; a就相當於int *,如果是對它加1(a + 1)是相當於a + 1 * sizeof(int)。但是&a的型別則相當於int **,是所謂指向陣列的指標,是陣列元素型別的二級指標,對它加1是相當於 &a + 1 * sizeof(a)的,所以會偏移乙個陣列長度。

2樓:匿名使用者

乙個是房間,乙個是房間號

陣列名a和&a有什麼不同?

3樓:歲月哪曾斑駁

c/c++裡面的陣列名字會退化為指標,所以陣列名a實際指的是陣列的第乙個元素的位址。而陣列名作為指標來講有特殊性,它正在它所指向的記憶體區域中,&a的值和a的數值是相同的(可以輸出觀察一下),但是型別和意義不同。而指標的加法操作和指向的資料型別密切相關。

比如:int a[10]; a就相當於int *,如果是對它加1(a + 1)是相當於a + 1 * sizeof(int)。但是&a的型別則相當於int **,是所謂指向陣列的指標,是陣列元素型別的二級指標,對它加1是相當於 &a + 1 * sizeof(a)的,所以會偏移乙個陣列長度。

4樓:匿名使用者

為了便於理解,陣列名可以理解為乙個一級指標,只是指標是變數,而陣列名a是乙個常量.

(指標:用來存放位址的變數)

而在其之前再加乙個&a,可以理解為(&a)是乙個二維陣列,所以&a+1相當於是移動了該二維陣列中的乙個元素(乙個二維陣列的元素是乙個陣列)的位置;希望本人回答能幫助到你.

5樓:匿名使用者

a代表的是陣列首個元素的位址(即首指標)當位址加一就代表指標指向下乙個元素,&(a+1) 的&符號代表取位址裡面的內容

6樓:匿名使用者

對於答案所說的「 &a的型別則相當於int ** 」,應該是錯的。實際型別應為int (*)[10],是乙個指向含有10個int型元素陣列的指標,即陣列指標。

c++裡陣列名+1和陣列名的位址+1的區別

7樓:金色潛鳥

陣列名+1, 若是一維陣列,陣列名+1 則是下乙個元素的位址。

例如: int a=; 陣列名a, 是 a[0] 的位址 &a[0], a+1 是 a[1] 的位址 &a[1]. +1, 則是 增加 sizeof(int)。

若是二維陣列, int b[2][3]=; 陣列名b, 是 &b[0][0], b+1 是 &b[1][0].

陣列名的位址+1, 則是 增加 sizeof(陣列名)。例如, int b[2][3]=;

+1, 則是 增加 sizeof(b) = 2*3*sizeof(int) = 24.

在陣列a中,a與*a的區別是什麼?

8樓:劉能

c/c++裡面的陣列名copy

字會退化為指標,所以陣列名a實際指的是陣列的第乙個元素的位址。而陣列名作為指標來講有特殊性,它正在它所指向的記憶體區域中,&a的值和a的數值是相同的(可以輸出觀察一下),但是型別和意義不同。而指標的加法操作和指向的資料型別密切相關。

c++中&a[0]與a[0] 的區別?

9樓:幻想秘境

a[0]:是獲取a這個陣列第0個元素的值;

&a[0]:是獲取a這個陣列第0個元素的位址;

比如把陣列比作乙個小區,a[0]就是代表小區裡某棟房子本身,而&a[0]則表示某棟房子的門牌號,你知道了門牌號,並且知道它在a小區,那麼你就能找到這棟房子.

望採納!!^_^

10樓:匿名使用者

&a[0]輸出的是乙個位址值。(陣列的首位址)*(a+1)輸出的是「2」即陣列第二個元素的值pb的輸出與&a[0]相同,都是位址。(陣列的首位址)*pb輸出的是「1」

11樓:匿名使用者

a[0]是第1個元素

&a[0]第乙個元素的位址

12樓:zoe_歸天

0012ff6c 2 0012ff6c 1

&a[0]是取a[0]的位址

a[0]則是陣列a 的第乙個元素

13樓:冰藍月零凍

&a[0]是a[0]的位址,輸出以後是類似於0x0021df34這種格式的東西,表示記憶體位址

二維陣列名和指標的關係,C語言中陣列名和指標的區別

二維陣列名即陣列地址,指向首行地址,表面上看,行地址即一維陣列指標,而陣列名指向行就應該是指標的指標,但是必須注意指標也是有型別的,型別不同資料寬度也不同。如果a 10 10 假設int p a 那麼要對行遞增執行p 時,編譯器如何知道列寬?因為int 是指指向一個 int 型別的指標,32位系統中...

c陣列名表示陣列的首位址,對於字元陣列,陣列名表示什麼

int a 4 a表示a 0 的位址char str 4 asd str表示 字串 asd 非等號後面的 asd 的首位址,是版str 0 的首位址,是 a 的首位址 cout 個字串,cout對於字串就是這樣處理的,輸出字串內容 而a輸出的是a 0 的位址 cout對於非字串,就會輸出陣列名所表示...

C語言中陣列名代表什麼,陣列元素用什麼方法表示

1 陣列是一種自定義的資料型別 陣列是一些相同型別的物件的集合,方便做迴圈操作,方便程式設計。2 宣告陣列的時候要明確以下三點 1.確定陣列名稱 2.確定陣列元素的型別 int a 其中陣列名稱a 陣列名是乙個常量,代表著陣列元素集合在記憶體儲存的起始位址,不能進行自增自減運算。陣列元素 int a...