c語言陣列首地址的疑問,c語言陣列首地址的一個疑問

2021-03-11 08:10:14 字數 891 閱讀 2986

1樓:

你可以把陣列名看成一個指標啊,只不過陣列名不需要再像指標變數那版樣用一個記憶體單元儲存其地址權。

比如:int n;

int *p=&n;

這裡p就需要另外的空間儲存。

而陣列名的值就是其地址值,所以a和&a相等;

a[0]的值和a的值放在一個記憶體單元中,這句話是錯誤的。a[0]的值是第一個陣列元素的值,a的值是陣列首地址。而a的值不需要用另外的空間儲存。

不知道這樣說你懂了沒?

陣列是複合型資料結構,sizeof操作的結果是陣列元素佔記憶體的總的位元組數。

a不是一個常量,也不是一個變數,只是一個陣列識別符號。

2樓:匿名使用者

陣列名一般標識數來組首個元自素所在的記憶體bai

單元地址,而這樣的內du存單元地址顯zhi

然是一個常量。取dao址運算子應用於變數方有意義,對於常量是沒有意義的。&a就相當於&0x12ff6c,這樣的運算顯然是無效的。

一句話,陣列名代表著一個不可更改的常量,不論陣列元素為什麼內容,切記!

3樓:匿名使用者

在c語言中,數復

組名即存

制放此陣列第一個

bai元素的記憶體地址,一般用du十六進位制來表示,如zhi上就是daoa表示的是a[0]的地址,&是取址運算子,因此對a本身就是一個地址來取址的話沒有意義,故也是和a的值一樣的。

sizeof(a)指的是陣列a中所有元素佔的記憶體空間,由於a定義為int型,一個int元素佔4個位元組,因此等於20;sizeof(&a[0])指的是首地址佔的記憶體空間,故是等於4.

4樓:匿名使用者

因為陣列名代表的就是該陣列最開始的一個元素的地址, &a = a = &a[0]

c語言指標陣列如何存放函式地址C語言指標陣列如何存放函式地址

c c 的指標的靈活,常把許多初學者搞暈,連高手也是如此。1.當然,可以呀,一切資料都可返回 2.複合指標型別直接表示非常麻煩 連高手都是這樣 可以分解成多個簡單型別 typedef void funtype void funtype num 100 分解後簡單多了!3.因為函式名不是字串,初始化時...

關於c語言動態陣列,關於C語言動態陣列

採納我吧,給你費了好大勁啊 include include include const int maxsize 100 templateclass linlist template class node template node node linlist entry entry template ...

C語言陣列

0650,a正確,選a。元素組成了陣列,陣列的定義為 int a 10 其中 int 為型別,即整型 還有字元型 char 和float 實型等 a 為陣列名 為下標符號,裡面的數字常量為 陣列的第幾號成員元素。例如 a 0 為 陣列a 10 的第一號成員元素。這裡有點要注意的是,陣列元素下標值是從...