[問題] stack heap的問題

看板C_and_CPP (C/C++)作者 (bubu)時間16年前 (2009/07/09 11:06), 編輯推噓3(309)
留言12則, 4人參與, 最新討論串1/1
我查了一些資料,知道stack放的是auto變數,而heap放的是動態配置的資料 我的問題是這裡指的stack/heap跟資料結構所教的的stack/heap有什麼關係? 像資料結構教的stack是後進先出,那compiler放資料的stack也是這樣嗎? 如果是的話不是很沒效率嗎?(因為資料不能random access) 而資料結構教的heap是用binary tree,那放動態配置的記憶體也是這樣的結構嗎? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.211.165

07/09 16:00, , 1F
不是stack也不是放指令的記憶體空間就是heap,與tree無關。
07/09 16:00, 1F

07/09 16:02, , 2F
效率問題,去看計組、組語就知道,CPU爽的話,想怎樣跑都行。
07/09 16:02, 2F

07/09 16:06, , 3F
差點忘了,還要扣掉放data,比如字串常數的地方才是heap
07/09 16:06, 3F

07/09 16:39, , 4F
語言和計算機結構上的stack的確是後進先出:副程式的
07/09 16:39, 4F

07/09 16:39, , 5F
context一層一層往stack上放,離開的時候再一層一層從
07/09 16:39, 5F

07/09 16:40, , 6F
stack上拿掉。至於context裡面的變數則不依stack原則
07/09 16:40, 6F

07/09 16:48, , 7F
存取。
07/09 16:48, 7F

07/09 16:49, , 8F
stack這樣我可以理解 那為什麼要叫做heap?
07/09 16:49, 8F

07/09 16:52, , 9F
heap和資料結構的heap沒有關係 純粹是剛好同名而已
07/09 16:52, 9F

07/09 16:53, , 10F
你如果覺得回答很庫索可以自己查wikipedia(要英文的)
07/09 16:53, 10F

07/09 18:50, , 11F
Orz
07/09 18:50, 11F

07/09 18:50, , 12F
還以為heap多少有些關係= =
07/09 18:50, 12F
文章代碼(AID): #1ALLxGmf (C_and_CPP)
文章代碼(AID): #1ALLxGmf (C_and_CPP)