推 ilovemami: *p = *q:把 q 抽屜的東西拿出來,放進 p 抽屜。 01/24 00:58
→ ilovemami: ++:搬完後,p 和 q 的指尖自動向後移一格 01/24 00:58
→ ilovemami: 複製現在這一格 然後兩邊都指到下一格 01/24 00:59
→ ttucse: 請問p跟q是陣列嗎? 01/24 01:08
推 ilovemami: p 和 q 是指標存放地址的變數 就兩隻手指 向陣列的開 01/24 01:11
→ ilovemami: 頭 01/24 01:11
→ ilovemami: 這行 code 執行時 手指會按順序一格格往後指 雖然陣列 01/24 01:11
→ ilovemami: 固定不動但指標(手指)可以透過 ++ 移動 01/24 01:11
→ ttucse: 懂了,謝謝。 01/24 01:17
噓 peter98: ...... 01/26 08:27
→ peter98: 工作上誰敢寫這種code 我把他吊起來打 = = 01/26 08:28
推 pponywong: p[i++]=q[i++] 或是分兩行寫就好 現在編譯器會幫你做 01/26 11:35
→ pponywong: 最佳化 自以為聰明寫程式 會讓人看不懂 還有不一定符合 01/26 11:36
→ pponywong: 現在的硬體設計邏輯 01/26 11:36
→ pponywong: 你在80~90年代可以這樣寫 現在就不要學了 01/26 11:37
→ Lipraxde: p[i++]...還真少見 01/26 16:44
推 LPH66: p[i++]=q[i++] 這個才是全錯的寫法 01/26 19:28
→ LPH66: 正確的是要拆兩句 p[i] = q[i]; i++; 01/26 19:28
推 Richun: p[i++]=q[i++]不會踩到UB嗎? *p++ = *q++ 我知道不會 01/26 23:52
推 KyuubiKulama: 看投影片應該是講古介紹assembly idiom 對c的idio 01/27 01:36
→ KyuubiKulama: m影響? 01/27 01:36
推 hongsiangfu: 我會拆三行寫,*p=*q;++p;++q; 01/27 09:42
→ hongsiangfu: 星號不見了,自己腦部 01/27 09:42
推 lc85301: 我的腦部…不見了( 01/27 21:43
→ lc85301: 認真說 這種 code 在嵌入初始化 SRAM 的時候還滿常看到 01/27 21:44
→ bbbing: 就,拜託盡量還是用人話寫程式啦 01/28 11:20
推 if4: p[i++]=q[i++]指標會不一樣嗎?p[i++]=q[j++]有沒有必要寫這 01/29 07:30
→ if4: 樣 01/29 07:30
→ sarafciel: p[i++]=q[i++]踩UB了 語意也完全不一樣 01/29 08:02
→ LPH66: 就是 UB 才會說全錯,有時太機械地轉換就會掉進這種坑 01/30 16:45
推 chuegou: 推文+1 記憶體搬資料用 但這樣寫會讓我腦內打結 我也是 02/04 18:39
→ chuegou: 分三行 02/04 18:39