[問題] vc指標 與tc指標

看板C_and_CPP作者 (mouse)時間15年前 (2009/04/22 23:56), 編輯推噓5(5010)
留言15則, 7人參與, 最新討論串1/4 (看更多)
請問版上大大 小弟我用TC測試了一小段指標程式 #include <stdio.h> #include <stdlib.h> void main(void) { int *prt; printf("%x",prt); } 這樣在TC上的答案是"4f0" 但是在VC上卻是"ccccccc" 導致在VC上不能再利用prt做別的東西 不知道是不是小弟哪裡有用錯 請大大們教導 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.166.105.77

04/23 00:00, , 1F
這記憶體位置不是不一定嘛 你要用舊new int ;阿
04/23 00:00, 1F

04/23 00:08, , 2F
malloc
04/23 00:08, 2F

04/23 00:33, , 3F
變數還沒初始化,裡面的值不確定是什麼,也不能使用
04/23 00:33, 3F

04/23 00:35, , 4F
就算用malloc抓了一塊記憶體空間給它,裡面存的值會
04/23 00:35, 4F

04/23 00:36, , 5F
變成某一個記憶體位址,印出這個位址也看不出裡面有啥
04/23 00:36, 5F

04/23 02:32, , 6F
VC會是cccccc,是微軟的貼心,為了避免使用者誤用。
04/23 02:32, 6F

04/23 08:06, , 7F
請問樓上大大 那要如何更改cccccc??
04/23 08:06, 7F

04/23 09:42, , 8F
原po建議您還是搞清楚指標與變數初始化值的重要性...
04/23 09:42, 8F

04/23 09:42, , 9F
這段code不管印出什麼對你來說都是沒意義的, 對你來說
04/23 09:42, 9F

04/23 09:42, , 10F
都要是能拿來用的, 如果你當初對4f0直接*ptr使用, 那絕
04/23 09:42, 10F

04/23 09:43, , 11F
對是錯誤的用法, 這段code根本沒有什麼"正確答案"才對.
04/23 09:43, 11F

04/23 09:43, , 12F
VC會把定義為給值的變數都給0xcccccccc只在debug build
04/23 09:43, 12F

04/23 09:44, , 13F
時做, 目的是為了幫你抓出定義為使用或為給值就取值等.
04/23 09:44, 13F

04/23 09:45, , 14F
別字更正, 上兩行: 為使用 => 未使用
04/23 09:45, 14F

04/23 10:28, , 15F
你之前到底用他做過什麼.......
04/23 10:28, 15F
文章代碼(AID): #19xpv8Ti (C_and_CPP)
文章代碼(AID): #19xpv8Ti (C_and_CPP)