看板 C_and_CPP 關於我們 聯絡資訊
請問版上大大 小弟我用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
QQ29:這記憶體位置不是不一定嘛 你要用舊new int ;阿 04/23 00:00
iamivers0n:malloc 04/23 00:08
cismjmgoshr:變數還沒初始化,裡面的值不確定是什麼,也不能使用 04/23 00:33
cismjmgoshr:就算用malloc抓了一塊記憶體空間給它,裡面存的值會 04/23 00:35
cismjmgoshr:變成某一個記憶體位址,印出這個位址也看不出裡面有啥 04/23 00:36
james732:VC會是cccccc,是微軟的貼心,為了避免使用者誤用。 04/23 02:32
mouse0411:請問樓上大大 那要如何更改cccccc?? 04/23 08:06
VictorTom:原po建議您還是搞清楚指標與變數初始化值的重要性... 04/23 09:42
VictorTom:這段code不管印出什麼對你來說都是沒意義的, 對你來說 04/23 09:42
VictorTom:都要是能拿來用的, 如果你當初對4f0直接*ptr使用, 那絕 04/23 09:42
VictorTom:對是錯誤的用法, 這段code根本沒有什麼"正確答案"才對. 04/23 09:43
VictorTom:VC會把定義為給值的變數都給0xcccccccc只在debug build 04/23 09:43
VictorTom:時做, 目的是為了幫你抓出定義為使用或為給值就取值等. 04/23 09:44
VictorTom:別字更正, 上兩行: 為使用 => 未使用 04/23 09:45
fjm31714:你之前到底用他做過什麼....... 04/23 10:28