读书人

函数的局部变量解决思路

发布时间: 2013-12-20 00:23:10 作者: rapoo

函数的局部变量
#include <stdio.h>
#include <malloc.h>
struct my
{int a;};

struct my *f0()
{struct my tmp;
tmp.a = 1;
return &tmp;
}

void main()
{
struct my *tmpp;

tmpp = f0();
printf("%d",tmpp->a);

}
在函数f0中定义了一个局部结构体变量tmp,然后返回其地址。在main函数中调用了f0,返回值赋值给了指针tmpp,我想问的是为什么下面的printf("%d",tmpp->a);能输出局部变量tmp的内部成员,为什么tmp这个局部变量在f0函数调用后没有被销毁?
[解决办法]
有可能被其他数据覆盖

读书人网 >C语言

热点推荐