VS里面 放开free会出异常,请问是什么原因?
char* GetMemory(void)
{
char* p = (char*)malloc(20);
p = "hello world";
return p;
}
void Test(void)
{
char* str = NULL;
str = GetMemory();
printf(str);
//free(str); //str
}
VS里面 放开free会出异常,请问是什么原因?
char* GetMemory(void)
{
char* p = (char*)malloc(20);
p = "hello world";
return p;
}
void Test(void)
{
char* str = NULL;
str = GetMemory();
printf(str);
//free(str); //str
}
char* GetMemory(void)
{
char* p = (char*)malloc(20); //p指向 新分配的内存(内存1)
p = "hello world"; //p 指向 hello world 字符串所在内存(内存2)
return p; //返回p 指向 (内存2), 之后free释放p (内存2),肯定就崩了
}