[問題] C 結構指標的記憶體配置寫法

看板C_and_CPP (C/C++)作者 (今天我NG了)時間15年前 (2010/07/20 14:22), 編輯推噓5(5013)
留言18則, 4人參與, 最新討論串1/2 (看更多)
typedef struct { int area; int width[15]; int height[15]; }MS; MS *burst; burst=(struct MS*)malloc(sizeof(struct MS)*40); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^compile一直說我這行有錯 書本看來看去也看不出哪邊有問題= =" 請教各位先進 我那邊寫錯了 還是說我結構指標的觀念就已經錯>"< 錯誤是說: erorr:expected constructor, destructor, or type conversion before '='token 我的編譯器是用Code::Block -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.107.164.241

07/20 14:25, , 1F
burst=(MS*)malloc(sizeof(MS)*40);
07/20 14:25, 1F

07/20 14:25, , 2F
你已經把他取名成 MS 了
07/20 14:25, 2F

07/20 14:27, , 3F
可以在那邊取喔XD 我以為要typedef struct MS{...};
07/20 14:27, 3F

07/20 14:29, , 4F
to 1F大 我拿掉struct也還是錯誤耶 Orz
07/20 14:29, 4F
※ 編輯: NGboy 來自: 120.107.164.241 (07/20 14:32)

07/20 21:43, , 5F
想不到我把結構寫在main裡面卻可以過...寫在外面卻錯...
07/20 21:43, 5F

07/20 22:08, , 6F
疑?? 要把struct寫在main裡才能過喔?? 有點好奇為什麼??
07/20 22:08, 6F

07/20 22:08, , 7F
是因為原本的struct沒有name嗎?_?
07/20 22:08, 7F

07/20 22:12, , 8F
覺得應該是像我3F的寫法才會過吧@@?
07/20 22:12, 8F

07/20 22:17, , 9F
通常是 typedef struct _MS { ... } MS; 這樣, struct
07/20 22:17, 9F

07/20 22:18, , 10F
後應該follow一個name, 然後順便typedef成新的type name
07/20 22:18, 10F

07/20 22:18, , 11F
分開寫為 struct _MS { ... };
07/20 22:18, 11F

07/20 22:19, , 12F
typedef struct _MS MS; 這樣, C++好像就不用這麼麻煩@@
07/20 22:19, 12F

07/21 10:18, , 13F
我只會C++ 根本不會C(遮臉
07/21 10:18, 13F

07/21 11:12, , 14F
我只會C 根本不會C++(淚奔
07/21 11:12, 14F

07/21 14:42, , 15F
Tom大 上次我打太快 應該是說 配置記憶體的部份需在main
07/21 14:42, 15F

07/21 14:42, , 16F
main裡面寫 寫在main外面就會有錯誤
07/21 14:42, 16F

07/21 14:46, , 17F
對了 還有3F大大的講法也是對的 但我後來不拿掉struct的話
07/21 14:46, 17F

07/21 14:46, , 18F
其實也是可以過的= = 總之問題是出現在配置記憶體的部份Orz
07/21 14:46, 18F
文章代碼(AID): #1CHK2HrA (C_and_CPP)
文章代碼(AID): #1CHK2HrA (C_and_CPP)