1 c
对于下面的代码,这就是我的理解:对指针x的引用传递给函数f,val获取y的地址,这是一个局部变量.那么为什么在退出函数f之后,x还可以呢?你应该被解除引用.x等于5,两个printf都打印相同的地址.
void f (int ** val)
{
int y = 5 ;
*val = & y;
printf("%d\n", &y);
}
int _tmain(int argc, _TCHAR* argv[])
{
int * x ;
f(&x );
if ( *x == 5 )
printf("%d", x);
}
Run Code Online (Sandbox Code Playgroud)