#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
char* GetM()
{
char p[] = "hello world!";//局部变量,分配在栈上,函数返回,内存释放
return p;
}
char* getMemory(char *p)
{
p = (char *)malloc(100);//分配在堆上,函数返回,内存不释放
p = "hello world!";
return p;
}
int main()
{
char *str = NULL;
str = GetM();
printf("value:%s\n",str);//null
str = getMemory(str);
printf("value:%s\n",str);
free(str);
return 0;
}
局部变量有效范围与malloc
最新推荐文章于 2023-08-11 15:25:31 发布