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