推 singlovesong:...我想這個人是python 寫太多 04/10 22:15
→ Minilogo:負數存取前面元素,不過看起來型態不合,有請其他高手了 04/10 22:19
→ uranusjr:假設 p_int 是一個二維陣列的話, p_int[act][-1] 就是第 04/10 22:28
→ uranusjr:act - 1 列的最後一欄 04/10 22:28
→ uranusjr:照這段程式的話不合理, 因為 act = 0, 再上一列就越界了 04/10 22:30
→ e12518166339:原式不是這麼單純我只想簡化成它的操作 04/10 22:39
→ e12518166339:我想問說像這樣子的操作有C的書或網站提到的嗎? 04/10 22:40
推 purpose:那就只是指標的加減法而已,比較認真指標的書應該都會提 04/10 22:42
→ purpose:p[1][-2] 等價於 *( *(p + 1) + (-2) ) 04/10 22:42
→ purpose:假設 p 記憶體位址 1000,在 32 位元下,p - 1 = 996 位址 04/10 22:43
推 littleshan:即使寫 p_int[1][-1] 也是 undefined behavior 04/10 23:08
→ Minilogo:請問littleshan為什麼呢 purpose的_p_int[1][-1]所指向的 04/11 00:04
→ Minilogo:還是在同一個陣列裡 04/11 00:06
→ Minilogo:這是未定義的行為嗎 更正: p_int[1][-1] 04/11 00:08
→ purpose:0 跟 1023 所以 iNumberArray[-1] 跟 iNumberArray[1024] 04/11 00:16
→ purpose:越界,結果難預期。但 iNumberLine 指向陣列中間故可負數 04/11 00:17
→ suhorng:undefined behavior大概是指語言定義的層面? @@ 04/11 00:26
推 singlovesong:就算predictable 還是undefined 吧 04/11 00:32
→ singlovesong:我覺得既然不是在寫python 就不要寫出這種code就好囉 04/11 00:32
→ singlovesong:C給使用者很多方便 也造成很多麻煩阿... 04/11 00:34
→ descent:C 陷阱与缺陷 section 3.1 04/11 09:08
→ descent:那個 -1 有問題吧, 已經越過 array 邊界了 04/11 09:09
推 littleshan:sorry我指的是uranusjr的推文,二維陣列的情況不能[-1] 04/11 10:39