作者rex5207 (Sizukani)
看板C_and_CPP
標題[問題] Linked List的Space
時間Sat Dec 20 20:14:58 2014
大家好,
我想問一下,
如果是下列的struct實作linked list的話,
需要消耗多少容量?
struct Node{
int data;
Node *next;
Node *prv;
};
接著我創出宣告
Node* begin;
並對begin做sizeof,出來的結果是4byte,
可是linked list不是前後都會儲存prv和next的address嗎?
那些容量跑到哪裡去了?
如果我今天用單向的Linked List和Double Linked List,
所花的容量是一樣的嗎?(Node數一樣,只是單純struct多了Node *prv)
謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.190.206
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1419077701.A.87B.html
→ fireslayer: 你應該sizeof(Node) sizeof(指標)都是一樣的 12/20 20:16
→ rex5207: oh! 抱歉疏忽了 單向是8bytes 雙向是12Bytes 12/20 20:19
→ rex5207: 謝謝你~ 我就想說不是有存地址嗎 12/20 20:20
推 q82419: 你還是沒有搞懂阿.... sizeof(Node)跟sizeof(*Node)不同 12/21 10:27
→ tsoahans: 指標不管是指向什麼型態 大小都一樣 12/21 12:52
→ ACMANIAC: 呃,漏看推文,看來原 PO 應該都搞懂了。 12/21 15:14
推 apologize: 加油,這真的不好學 12/22 16:08
推 Killercat: 因為你搞錯了 你這種用法是問「一個指標多大」 12/23 01:25
→ Killercat: 而不是「這個指標指向的結構多大」 一個指標通常4byte 12/23 01:25