假设我定义了以下代码:
int *func()
{
int *p=(int *)malloc(sizeof(int)); // memory is allocated from heap
// which can be accessed anytime.
return p; // but we created p which has a local scope and vanishes as
//soon as function exits.
}
那么这个东西是如何工作的呢?p 是一个局部变量(一个指向动态内存地址的指针)。我的意思是来自 HEAP 的内存本身肯定应该继续存在,但是指针变量具有本地范围。我怎么能得到这个指针?