#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
char *getmemory(void)
{
char p[] = "hello world";
return p;
}
int main()
{
char *str = NULL;
str = getmemory();
printf(str);
return 0;
}
getmemory()函数返回的是指向“栈内存”的指针,str变量通过getmemory()函数将得不到字符串“hello world”。
在栈上创建,执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动会被释放。