推 CMJ0121: gcc (GCC) 8.2.1 20180831 對 struct 直接用 -> 會編譯11/20 18:34
→ CMJ0121: 失敗11/20 18:34
→ wei115: !?真假,我是用GDB實驗的,沒有實際編譯過11/20 18:39
→ wei115: 我回去再試試看QQ11/20 18:40
在公車上用筆電實驗
發現真的沒辦法用gcc編譯過(可以用gdb ->)
然後被嚇到重新看了一下扣,發現我完全理解錯意思了
QQ肚子太餓了,思考能力都出問題了(難怪我一直Google不到...)
抱歉浪費大家的時間了m(_ _)m
要不要自刪啊QQ
推 james732: 不要自刪啦,把你犯的錯補充上來就好 11/20 18:54
推 chuegou: 可以補充啦造福後人 這板也不允許你刪吧 11/20 19:25
推 b0920075: 自刪等劣退 11/20 21:06
QQ自己的烙賽要流芳百世惹
推 me356500: 宣告指標結構才會這樣用ㄅ? 11/20 21:27
推 CMJ0121: 剛剛試了 GDB 8.2 得到跟原 PO 一樣的結論 11/20 23:12
→ CMJ0121: 在 GDB 對變數用 . 跟 -> 都是拿到 struct 的 member 11/20 23:14
本來以為GDB可以這樣用GCC也可以
就沒有用GCC去測試了QQ
※ 編輯: wei115 (122.118.213.36), 11/21/2018 00:32:03
推 jamfly: -> 只是對指標的語法糖衣而已 11/21 09:31
推 Vent: 之前看一個國外講struct pointer的影片,那個講師說他不太 11/21 11:38
→ Vent: 懂為啥是用->,他一開始都是用(*a).的形式來理解a-> 11/21 11:38
→ bibo9901: 我也好奇, 既然編譯器知道a是指標還是struct, 為什麼要 11/23 01:46
→ bibo9901: 逼我使用不同的語法? 11/23 01:46
→ uranusjr: 在 C++ 裡 -> 可以 override 所以這兩個不見得一樣 11/25 14:58
→ uranusjr: 不過為什麼當初 C 要這樣設計就只能問作者了, 不過我想 11/25 14:59
→ uranusjr: 這應該也是很合理的設計, 否則光想一個變數是不是指標就 11/25 14:59
→ uranusjr: 會很頭大, 別忘了那年代沒有 IDE, 變數型別只能自己記得 11/25 15:00
→ sarafciel: 你要寫(*ptr).mem也可以呀 ptr->mem本來就是語法糖 11/26 17:42
推 dces4212: C裡面. 用在操作實體 而 -> 用在操作指標中的實體 12/17 16:45