Re: [問題] 關於struct的記憶體配置..
※ 引述《rrosymoon (紫月)》之銘言:
: 請問一下喔~我看書上是說,struct跟陣列很像,但它可以
: 將多種不同型態的資料,集合在一起。
: 那,若是使用動態配置記憶體的方式,程式是一次幫它裡面
: 所有的資料型態都給予記憶體嗎?還是可以只給指定的某一
: 個資料型態記憶體呢?
: 比如:
: struct word{
: char *word_name;
: struct word *next;
: };
: ...
: wp=(struct word *)malloc(sizeof(struct word));
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: 這個部份,程式會幫wp->word_name跟wp->next都分別
: 配置記憶體?所以一次會增加二筆資料的記憶體?
: 還是說只有使用到的會給記憶體呢?
: 那有辦法只單獨配置wp->word_name的記憶體空間嗎?
你要把函式的責任釐清
malloc就是malloc
上述動作只是說「我有一個指標叫做wp,指向一塊sizeof(struct word) 的空間」
所以裡面的word_name跟next指標都有該有的空間。
有空間才能存放資料,因此你是一定要給next指標一個空間的。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.227.127.8
→
05/04 23:39, , 1F
05/04 23:39, 1F
推
05/04 23:41, , 2F
05/04 23:41, 2F
→
05/04 23:41, , 3F
05/04 23:41, 3F
→
05/04 23:41, , 4F
05/04 23:41, 4F
→
05/04 23:42, , 5F
05/04 23:42, 5F
→
05/04 23:42, , 6F
05/04 23:42, 6F
→
05/04 23:43, , 7F
05/04 23:43, 7F
→
05/04 23:43, , 8F
05/04 23:43, 8F
→
05/04 23:44, , 9F
05/04 23:44, 9F
→
05/04 23:45, , 10F
05/04 23:45, 10F
推
05/04 23:48, , 11F
05/04 23:48, 11F
→
05/04 23:48, , 12F
05/04 23:48, 12F
→
05/04 23:50, , 13F
05/04 23:50, 13F
推
05/04 23:53, , 14F
05/04 23:53, 14F
→
05/04 23:54, , 15F
05/04 23:54, 15F
→
05/04 23:55, , 16F
05/04 23:55, 16F
→
05/07 15:13, , 17F
05/07 15:13, 17F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):