酷!學園

技術討論區 => 程式討論版 => 主題作者是: lbcb 於 2006-07-21 02:24

主題: 如果宣告一個 char a1[1000]在記憶體內會是連續空間嗎?
作者: lbcb2006-07-21 02:24
如果宣告一個 char a1[1000];
在compiler會是分配出一個連續空間嗎?
3q
主題: 如果宣告一個 char a1[1000]在記憶體內會是連續空間嗎?
作者: Yamaka2006-07-21 02:44
有差嗎  :roll:

在程式中還是一樣用 0 ~ 999 存取啊~~
就算不連續, 也不會影響存取方式..

還有, 陣列空間不是 compiler 配置的..
主題: 如果宣告一個 char a1[1000]在記憶體內會是連續空間嗎?
作者: 螢火飛2006-07-24 15:52
引述: "yamaka"
有差嗎  :roll:

有差!

不論是經由宣告,或是 malloc 函數所配置的記憶體位置,一定是「連續的」,
否則如何用 a1[0-999] 來存取呢?
索引是指標 * 宣告的變數 size 為 offset,加上 &a1 的記憶體位置才存取記憶體內真正的 value。

所以只要是被宣告或是被配置的記憶體位址,一定是連續的。
主題: 如果宣告一個 char a1[1000]在記憶體內會是連續空間嗎?
作者: stlee2006-08-10 02:40
有差嗎---->阿婆放尿...大差了

如果不連續的話那指標就形同廢物了