[為你自己學 Rust] Stack 與 Heap
![[為你自己學 Rust] Stack 與 Heap](/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBanNDIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--afe51bd6bb97db2dfd7b6a0dad1f5b349e324668/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCem9MWm05eWJXRjBPZ2hxY0djNkUzSmxjMmw2WlY5MGIxOW1hV3hzV3dkcEFnQUZhUUpBQVE9PSIsImV4cCI6bnVsbCwicHVyIjoidmFyaWF0aW9uIn19--dae5f865966589ea53e128cb7972bbf3965c434c/stack_and_heap_bb8c0810-ff37-4ced-b674-e87e32a7570c.jpg)
這個章節跟 Rust 比較沒直接關連,比較像是計算機概論的科普時間。這個章節我們要跟大家介紹關於記憶體的 Stack 與 Heap。通常 Stack 中文會翻譯成「堆疊」,而 Heap 會翻譯成「堆積」,但我覺得中文翻譯好像沒比較容易懂,所以我們這裡就用英文原文就好。
在我學習技術的這條路上,當我想要了解一個新的名詞是什麼用途的時候,我通會先去查一下這個字本身代表的意思。根據我在牛津英語辭典(Oxford English Dictionary)上查到關於 Stack 這個字的解釋:
Stack /stæk/
a pile of something, usually neatly arranged
Stack 用來表示一堆東西,通常會整齊排列。而 Heap 的解釋是:
Heap /hiːp/
an untidy pile of something
同樣也是表示一堆東西,但跟整齊排列的 Stack 不同,Heap 是一堆相對比較凌亂的東西。