Re: [問題] vc指標 與tc指標
※ 引述《mouse0411 (mouse)》之銘言:
: 請問在VC上是不是一定要這樣用才可行
: #include <stdio.h>
: #include <stdlib.h>
: main()
: {
: int i;
: int *prt=&i;
: }
: 先宣告一個變數"i"
: 再把"i"的位址給指標
: 之後使才能
: *prt=1;
: 不然會一直出現錯誤
: 請版上大大們指教
不是 VC 上一定要這樣用
是所有的地方都得這樣用
宣告任何形態的指標
int *ptr;
如果沒有先賦與他合法的空間
ptr = (int*) malloc(sizoef(int));
ptr = &i;
ptr = some_array;
就逕自使用, 無論對指標所指之處取值或設值
*ptr = 3;
printf("%d\n", *ptr);
其結果都是無法預期的
意謂著你的程式可能今天跑是好的
明天就壞掉了
或者是在這台跑是好的
放到另一台就爛了
VC 之所以在 Debug Build 的時候會不讓你這麼做
就是因為他確定這麼做是錯誤的
所以他用他的防範機制讓你提早遇到錯誤 (才符合 "debug" 的功用)
希望你能在 Release Build 之前修正它
--
有時候,遺忘,是令人快樂的。什麼時候?當然是有人傷了你的心的時候。
存心傷你的那個人,固然是故意和你過不去,但是被傷了心而耿耿於懷的你
,卻是和自己過不去了。所以,記性不好的人,通常會是比較快樂的人,也
是比較不容易被擊倒的人。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.49
※ 編輯: ledia 來自: 140.112.30.49 (04/23 10:39)
推
04/23 10:45, , 1F
04/23 10:45, 1F
→
04/23 11:45, , 2F
04/23 11:45, 2F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章