想不到居然會犯這種錯誤
錯誤的:
void f1(char *p)
{
char *string = “Hello”;
p = string;
}
{
char *p2;
f1(p2);
printf(p2); \\ 輸出絕對不會是 Hello…
}
正確的:
void f1(char **p)
{
char *string = “Hello”;
*p = string;
}
void f2()
{
char *p2;
f1(&p2); //要記得作取址的動作。
printf(p2);
}
沒有留言:
張貼留言