Re: [問題] 如何讓多個指標指向同一個struct記憶區塊
謝謝各位的指教,
不好意思....我可以順便再問個新手的問題嗎?
malloc傳回的是pointer,
那...為什麼要幫struct配置記憶區塊,
不能用下列的方式呢?
struct list *second;
*second = malloc(sizeof(struct list));
還麻煩不吝惜指教,
謝謝~
※ 引述《larkes (larkes)》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: C語言, editor是Dev C++
: 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
: stdio.h stdlib,h
: 問題(Question):
: struct list *first = NULL;
: struct list *second = NULL;
: first = second;
: second = (struct list *)malloc(sizeof(struct list));
: second->next = NULL;
: if(first == NULL)
: printf("first is NULL \n");
: 執行結果是:first is NULL
: 從這可以看出first只是擁有跟second一模一樣的內容,
: 但是卻沒有跟second共用一個記憶區塊.
: 請問....如何在不使用function的情況下,
: 撰寫code,讓first跟second共用一個記憶區塊呢?
: 因為我希望second被修改時, first也跟著被修改.
: 預期的正確結果(Expected Output):
: first跟second指向同一個記憶區塊.
: 還麻煩請指教一下,
: 謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.120.179.172
→
04/15 22:05, , 1F
04/15 22:05, 1F
→
04/15 22:05, , 2F
04/15 22:05, 2F
※ 編輯: larkes 來自: 59.120.179.172 (04/15 22:06)
推
04/15 22:09, , 3F
04/15 22:09, 3F
→
04/15 22:38, , 4F
04/15 22:38, 4F
→
04/16 00:21, , 5F
04/16 00:21, 5F
→
04/16 00:23, , 6F
04/16 00:23, 6F
→
04/16 00:25, , 7F
04/16 00:25, 7F
→
04/16 08:30, , 8F
04/16 08:30, 8F
→
04/16 08:31, , 9F
04/16 08:31, 9F
→
04/16 08:32, , 10F
04/16 08:32, 10F
→
04/16 08:33, , 11F
04/16 08:33, 11F
→
04/16 08:35, , 12F
04/16 08:35, 12F
→
04/17 00:28, , 13F
04/17 00:28, 13F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):