问题:
函数中的变量生存周期仅限于函数内部,那么如果在函数中使用malloc为指针分配了一个空间,那么这个值在函数完成后会被销毁吗?
答案:不会
测试代码:
int test()
{
int a = (int)malloc(sizeof(int));
a = 6;
printf("a的地址:%p\n", &a);
return &a;
}
int main()
{
int *p = test();
printf("返回值保存的地址:%p 返回值保存地址的值:%d\n", p, *p);
return 0;
}
测试结果: