#1
|
||||
|
||||
C語言有關陣列指標常數的記憶體配置問題
我正在閱讀「C語言教學手冊」。其中在「指標10-33」這頁下方有個圖解,我有點搞糊塗了。
如圖: 在a[5]陣列中,a是陣列名稱也是指標常數,書上說它本身的「值」就是它自己的位址, 所以如果要求a,&a以及&a[0]的%p,三者是都一樣的,這點可以理解。 但如果從書上畫的配置的記憶體來看,a本身的那塊記憶體不就是a[0]嗎?而a[0]裡面放的值不是整數32嗎?那它的位址要存在哪裡呢? 請教一下先進。 |
#2
|
|||
|
|||
a本身的那塊記憶體就是a[0],存的数字就是32
这个位址是要有的,占用4-8个字节,在32位机器上占用4字节,在64位机器上占用8字节,来存放这个位址。 比如double b[10000],每个元素占用8字节,10000个元素就是80000字节。 但是位址只保存1个(b[0]的)位址即可,其余的自动推算。
__________________
收购各位版友的四字母com、数字米com/net/cc、三杂米com、拼音米。价格随行市价。站内联系。 |
#4
|
|||
|
|||
另有一块记忆体存放0022ff38
__________________
收购各位版友的四字母com、数字米com/net/cc、三杂米com、拼音米。价格随行市价。站内联系。 |