[問題] malloc to void(solved!)

看板C_and_CPP (C/C++)作者時間14年前 (2012/03/07 00:48), 編輯推噓1(109)
留言10則, 4人參與, 最新討論串1/1
請問各位大大 malloc 可不可以 data structure 到 void 指標? typedef data { int type; void *right_factor; void *left_factor; }; ex: void *p = (*void)malloc(data); 最近寫程式卡在 forward reference 問題上 兩種 data structure 會互相連結 因此想說不要用 typedef 指標 直接用 void 暴力解 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.135.24.88

03/07 00:50, , 1F
void *p = malloc(100); 這樣寫是沒問題的
03/07 00:50, 1F

03/07 01:15, , 2F
malloc本來就是回傳 void* 呀
03/07 01:15, 2F

03/07 01:24, , 3F
void *p = malloc(sizeof(data));
03/07 01:24, 3F

03/07 01:26, , 4F
雖然我覺得用void來解forward reference的感覺好奇怪...
03/07 01:26, 4F
struct data; // 一陣的 struct 宣告 struct data { // 內部資料宣告 }; 這樣有無解? 寫語法解析就遇到這種語法無限迴圈 ※ 編輯: iWRZ 來自: 140.135.24.88 (03/07 01:28)

03/07 01:31, , 5F
看不太懂你的問題耶…可以把具體的程式碼貼上來嗎?
03/07 01:31, 5F

03/07 01:31, , 6F
不過這種時候真的會覺得Java/C#的設計真好,不用管順序XD
03/07 01:31, 6F

03/07 03:21, , 7F
其中一定有只要指標的struct 把它在前面像你這樣宣告即可
03/07 03:21, 7F

03/07 03:21, , 8F
基本上 Java 不用管順序的原因是那些都是指標...
03/07 03:21, 8F

03/07 03:22, , 9F
所以我只要知道「那是指向某某的指標」這樣就行了
03/07 03:22, 9F

03/07 03:22, , 10F
實際在用時才需要知道那指標裡面是什麼東西
03/07 03:22, 10F
文章代碼(AID): #1FLZ_sZ- (C_and_CPP)
文章代碼(AID): #1FLZ_sZ- (C_and_CPP)