读书人

新手请问关于函数和指针有关问题

发布时间: 2012-08-08 14:32:45 作者: rapoo

新手请教关于函数和指针问题
void f(char**p)
{
char a='M';
*p=&a;
}
int main(void)
{
char*string=NULL;
f(&string);
printf("%c",*string);
system("Pause");
return 0;
}
运行后会print出“M”,我想问一下,声明的函数在执行完以后函数内部的a应该不存在了吧?如果不存在的话那string指向的内存为何还能显示出声明的函数内部的“M”?

[解决办法]

探讨

我还是没明白啊,声明的函数执行完了以后内部的变量a应该不存在了吧?那最后显示结果可以用*string打印出"M",那请问这个字符"M"到底存放在那个块内存?string指向哪块内存?应该不是指向内部变量a吧?

读书人网 >C语言

热点推荐