[問題] 記憶體空間問題?

看板C_and_CPP作者 (K.L)時間14年前 (2011/09/02 22:18), 編輯推噓4(4013)
留言17則, 9人參與, 最新討論串1/1
不知道適不適合在這裡問,不適合我再刪掉 剛剛有同學問我 pointer會佔空間的嗎? 想請教一下 用 int *a; 再用malloc配置十個單位的大小 跟 int a[10]; 這兩者所占用的空間是一樣的嗎? 或者說我宣告十個指標去指向十個位置 這樣子跟int a[10]; 的差異性會很大嗎? 謝謝各位的回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.191.88

09/02 22:19, , 1F
sizeof(int *) 或 sizeof(a) 就知道囉
09/02 22:19, 1F

09/02 22:20, , 2F
嗯嗯,感謝回答 等等請他去試試
09/02 22:20, 2F

09/02 22:31, , 3F
pointer不占空間莫非是冥界來的pointer
09/02 22:31, 3F

09/02 23:00, , 4F
假設編譯器沒有做什麼最佳化好了。malloc 常會有額外負擔.
09/02 23:00, 4F

09/02 23:26, , 5F
謝謝!
09/02 23:26, 5F

09/03 00:32, , 6F
(我講的額外負擔,是說指標本身以外還有其他額外負擔xD)
09/03 00:32, 6F

09/03 00:40, , 7F
簡單說malloc需要額外一些空間來存那些有的沒的
09/03 00:40, 7F

09/03 00:47, , 8F
例如block大小之類的 K&R第八章有
09/03 00:47, 8F

09/03 01:09, , 9F
樓上說的沒錯,K&R 8.7 Example - A Storage Allocator
09/03 01:09, 9F

09/03 01:40, , 10F
我記得pointer本身也會有空間,儲存你指向的空間開頭
09/03 01:40, 10F

09/03 01:44, , 11F
當然阿,指標也是變數阿阿阿阿阿!!!!
09/03 01:44, 11F

09/03 02:13, , 12F
樓上正姊
09/03 02:13, 12F

09/03 02:13, , 13F
http://0rz.tw/JQYfT chapter 8 is for UNIX system
09/03 02:13, 13F

09/03 03:03, , 14F
t大竟然找得到網頁版的!
09/03 03:03, 14F

09/03 03:35, , 15F
補充一下,實際上 malloc 可以做各種怪事節省空間並加速。
09/03 03:35, 15F

09/03 03:35, , 16F
它一直躺在 Favorite 裡面..
09/03 03:35, 16F

09/03 12:24, , 17F
謝謝樓上幾位的回答
09/03 12:24, 17F
文章代碼(AID): #1EOENCya (C_and_CPP)