Re: C/C++ 語言新手十三誡 -- Ver. 2016
看板C_and_CPP (C/C++)作者Hazukashiine (私は幸せです)時間8年前 (2016/06/09 14:14)推噓2(2推 0噓 3→)留言5則, 2人參與討論串5/6 (看更多)
※ 引述《wtchen (沒有存在感的人)》之銘言:
: ______________
: 1. int* ptr; ptr -> |__未知的空間__|
: ______________
: 2. 呼叫函式 newArray ptr -> |__未知的空間__| <- local
: ______________
: 3. malloc 取得合法空間 ptr -> |__未知的空間__|
: ______________
: |___合法空間___| <- local
: ______________
: 4. 離開函式 ptr -> |__未知的空間__|
希望這張圖可以更清楚描繪出更多細節,並移除合法和未知的空間等有歧義的用詞。
┌────┐ ┌────┐ ┌────┐ ┌────┐
Heap │ │ │ │ │ 新配置 │ │ 已泄漏 │
│ │ │ │ │ 的空間 <─┐ │ 的空間 │
│ │ │ │ │(allocd)│ │ │(leaked)│
│ │ │ │ ├────┤ │ ├────┤
│ │ │ │ │ : │ │ │ │
│ │ │ │ │ : │ │ │ : │
│ │ ├────┤ ├────┤ │ │ : │
│ │ │ local ├─┐ │ local ├─┘ │ │
├────┤ ├────┤ │ ├────┤ ├────┤
Stack │ ptr ├─┐ │ ptr ├─┤ │ ptr ├─┐ │ ptr ├─┐
└────┘ ╧ └────┘ ╧ └────┘ ╧ └────┘ ╧
未初始化 函式呼叫 配置空間 函式返回
int *ptr; local = ptr; local = malloc();
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.157.183
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1465452851.A.B5D.html
推
06/09 14:50, , 1F
06/09 14:50, 1F
※ 編輯: Hazukashiine (111.241.157.183), 06/09/2016 14:52:53
推
06/09 14:53, , 2F
06/09 14:53, 2F
→
06/10 00:50, , 3F
06/10 00:50, 3F
→
06/10 00:51, , 4F
06/10 00:51, 4F
→
06/10 00:53, , 5F
06/10 00:53, 5F
討論串 (同標題文章)
完整討論串 (本文為第 5 之 6 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章