Re: C/C++ 語言新手十三誡 -- Ver. 2016

作者: Hazukashiine (私は幸せです)   2016-06-09 14:14:08
※ 引述《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();
作者: wtchen (沒有存在感的人)   2016-06-09 14:50:00
感謝,想一下怎麼加進去。改好了,謝謝
作者: Hazukashiine (私は幸せです)   2016-06-10 00:50:00
更新了下方的解釋文字 :)讓他看起來比較符合美感(笑
作者: wtchen (沒有存在感的人)   2016-06-10 00:53:00
改好了,謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com