作者littleshan (我要加入劍道社!)
看板C_and_CPP
標題Re: [問題] pointer
時間Mon May 11 09:23:57 2009
※ 引述《LPH66 ((short)(-15074))》之銘言:
: ※ 引述《Anonymoux ( :))》之銘言:
: : 我想請問各位一個關於struct的問題,因為這部分我完全新手,但臨時需要沒辦法慢慢學
: : 因為整個程式碼有200多行
: : 所以只列出我認為應該有相關的部分
: : struct tab{
: : int val;
: : char* name;
: : }tab[100];
: : ...
: : char* sname="ab";
: : struct tab* tabPtr(sname); /*tabPrt會依sname自動配一個位址給他*/
: 這個真的嗎?
: 你的 tabPtr 是個指標
: 所以這會把 sname 這個指標(char *)轉型成 struct tab * 丟給 tabPtr
: 但這是個可能合法但顯然絕對不合理的行為....
很不幸的,他這樣寫,實際上會宣告一個叫 tabPtr 的函式,
接受一個參數叫 sname,雖然這個參數沒型別,
但不巧 C 又規定沒形別的變數宣告預設為 int...
所以這段程式可以編過,不過行為完全預期外。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.151.2
推 LPH66:啊我忘了他是寫C...orz 05/11 09:26
→ LPH66:把它當 ctor 去了 @_@; 05/11 09:27
推 VictorTom:l大好神眼睛好利....:) 05/11 11:00
→ Anonymoux:感謝兩位L大解疑 :) 05/11 17:16