[問題] free記憶體後的問題
問題(Question):
小弟原本的想法是
malloc了一個arr1陣列
之後realloc了一個arr2陣列
arr2的size是arr1的兩倍
然後把arr1給free
預期的正確結果(Expected Output):
小弟預期free(arr1)之後,arr1和arr2因為找不到位址了
所以不管arr1[i]或是arr2[i]應該都是找不到值的 (0<i<2*size)
錯誤結果(Wrong Output):
結果跑出來
在arr1[0]及arr2[0]跑的值的確是已經被free掉了
可是詭異的是arr1[1]、arr1[2]、arr1[3].....的值都還讀得出來
既然都已經找不到開頭了
為什麼後面的值還找的到呢??
還請各位高手不吝指教
程式碼(Code):(請善用置底文網頁, 記得排版)
http://ideone.com/F5orA
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.184.174.105
→
09/25 13:11, , 1F
09/25 13:11, 1F
推
09/25 13:15, , 2F
09/25 13:15, 2F
→
09/25 13:16, , 3F
09/25 13:16, 3F
推
09/25 13:16, , 4F
09/25 13:16, 4F
→
09/25 13:19, , 5F
09/25 13:19, 5F
→
09/25 13:20, , 6F
09/25 13:20, 6F
→
09/25 13:20, , 7F
09/25 13:20, 7F
→
09/25 18:14, , 8F
09/25 18:14, 8F
討論串 (同標題文章)