作者yenhun (大狗)
看板C_and_CPP
標題[問題] pointer問題
時間Wed Oct 31 00:07:59 2012
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux/GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
No
問題(Question):
程式碼(Code):(請善用置底文網頁, 記得排版)
void funA()
{
char *par1=NULL, *par2=NULL;
funB(par1, par2);
print("par1:%x , par2:%x\n", par1, par2);
}
void funB(char *b_par1, char *b_par2)
{
char b = 'b', a = 'a';
b_par1=&b;
b_par2=&a;
print("b_par1:%x, b_par2:%x", b_par1, b_par2);
}
補充說明(Supplement):
原本預期 在funA()中 ,
par1與par2可以抓出funB()中 , 變數a與b的address,
但執行後 , 發現funA()中 , 印出來的par1與par2的值都是0..
請問這是哪邊有錯? 還有該如何修正呢??
感謝各位前輩!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.61.122.2
→ mikker:至底的D 10/31 00:12
→ yenhun:感謝, 原本有先去看十誡的描述 , 覺得我沒有new memory呀 10/31 00:31
→ yenhun:看完描述後, 讓我了解到錯誤在哪..謝! 10/31 00:31
推 cocoyan:十三誡之五 10/31 00:53
→ maerdimer:指標也是變數,要改變指標指向請用 char ** 10/31 01:05