看板 C_and_CPP 關於我們 聯絡資訊
你好 我剛剛試了一下 我太嫩了 我沒有遇過這種方式 原來您 struct msg *msg_ptr = (struct msg*) malloc(長度+MSG_HEADER_SIZE); 這行加上了長度 是有用意的... 我還在想 你data[]沒給長度我該怎麼assign值給他呢? 不過我不懂的是 struct msg { char data[]; int length; //4 bytes }; 寫顛倒 他就compile說error C2229: struct 'msg' 擁有大小為零的不合法陣列 這實在不懂耶.............. 還有下面說的 等號那個型態不同可以這樣寫嗎? 我試的結果也不能過... 請指教 剛剛又想印看看 長度 cout<<sizeof(msg_ptr->data); 這也不給我過@@ 這是位什麼呢??? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.207.211
james732:data[] 後面是不是少了 ; 呢? 02/26 00:30
QQ29:喔喔抱歉 我打錯 改一下 02/26 00:30
※ 編輯: QQ29 來自: 140.113.207.211 (02/26 00:30)
QQ29:波文筆誤~ 02/26 00:31
※ 編輯: QQ29 來自: 140.113.207.211 (02/26 00:33)
realmeat:倒著寫,過不了,那是一個空位址,指到結構的最尾巴的地方 02/26 00:44
realmeat:沒給大小他沒法定位下一個參數位址,so 過不了 02/26 00:54
QQ29:那位什麼不能取sizeof呢@@ 02/26 01:06
tinlans:讀一下含 C99 標準的 C 語言教科書。 02/26 13:52