[問題] 全域變數

看板C_and_CPP作者 (NEWLYMOON)時間13年前 (2011/12/15 11:13), 編輯推噓2(2021)
留言23則, 6人參與, 最新討論串1/3 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC 問題(Question):記憶體出錯 預期的正確結果(Expected Output):一大長串的數列 錯誤結果(Wrong Output):memory clobbered past end of allocated block 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): 檢查結果似乎是U的記憶體出錯 想請問這樣宣告的問題在哪邊? 學長建議不要把U設為全域變數 而設成區域變數當作函數的引數 請問這樣有解嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.118.208.11

12/15 19:31, , 1F
是大U 不是小u
12/15 19:31, 1F
※ 編輯: newlymoon 來自: 122.118.208.11 (12/15 19:34)

12/15 21:29, , 2F
你是float U; 然後用U = (float*)malloc?
12/15 21:29, 2F

12/15 21:30, , 3F
大U根本沒看到宣告的地方啊@@
12/15 21:30, 3F

12/15 21:30, , 4F
sorry,我白目=_=
12/15 21:30, 4F

12/15 21:32, , 5F
你的錯誤是使用的記憶體超出邊界了
12/15 21:32, 5F

12/15 21:32, , 6F
這和是不是全域可能沒有關係吧
12/15 21:32, 6F

12/15 21:34, , 7F
應該是要檢查陣列有沒有超出你malloc的邊界
12/15 21:34, 7F

12/15 21:34, , 8F
不然就請別的頭腦清醒一點的人幫你檢查好了XD
12/15 21:34, 8F

12/15 21:34, , 9F
我好昏請忽略我最前面三行
12/15 21:34, 9F

12/15 21:43, , 10F
你比較需要學的是怎麼用debugger
12/15 21:43, 10F
※ 編輯: newlymoon 來自: 122.118.208.11 (12/15 22:26)

12/15 22:26, , 11F
3Q
12/15 22:26, 11F

12/15 23:15, , 12F
疑? 有code嗎@_@"
12/15 23:15, 12F

12/15 23:23, , 13F
有, 可是原PO第二次修改時拿掉了, 要幫補嗎?
12/15 23:23, 13F

12/16 00:28, , 14F
只是確定一下不是小弟我眼殘找不到....Orz
12/16 00:28, 14F

12/16 21:23, , 15F
原po的問題是什麼?,我看了三次了,我真的不知道...
12/16 21:23, 15F

12/16 21:25, , 16F
這篇可以劣退嗎?
12/16 21:25, 16F

12/16 21:34, , 17F
還是幫補網址好了 http://codepad.org/VEDmlWwk
12/16 21:34, 17F

12/16 21:57, , 18F
http://pastie.org/3026418 你學長忘記告訴你,你程式
12/16 21:57, 18F

12/16 21:58, , 19F
習慣非常糟糕,全域變數和區域變數的命名竟然會一樣
12/16 21:58, 19F

12/16 21:59, , 20F
不過這支程式剛好測試,我最近加上的gcc參數.改天再來
12/16 21:59, 20F

12/16 21:59, , 21F
研究新的錯誤檢查參數
12/16 21:59, 21F

12/18 10:36, , 22F
問題點在於 動態配置會出錯 但我都有free掉 這邊我不
12/18 10:36, 22F

12/18 10:36, , 23F
懂 謝謝
12/18 10:36, 23F
文章代碼(AID): #1EwTPLVg (C_and_CPP)
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):
問題
3
11
問題
3
10
13年前, 2012/04/20 07:34
問題
2
23
文章代碼(AID): #1EwTPLVg (C_and_CPP)