char *GetMemory(void)
{
char p[] = "hello world";
return p;
}
这里 返回的是p这个临时对象的地址,所以外面调用的时候,会取不到想要的值。
{
char * p = "hello world";
return p;
}
这里返回的是"hello world"这个静态存储区的字符串的地址,所以外面调用的时候,可以正确取到想要的值。
有一次把第一个函数理解成了第二个,特此Mark一下。
char *GetMemory(void)
{
char p[] = "hello world";
return p;
}
这里 返回的是p这个临时对象的地址,所以外面调用的时候,会取不到想要的值。
}
这里返回的是"hello world"这个静态存储区的字符串的地址,所以外面调用的时候,可以正确取到想要的值。
有一次把第一个函数理解成了第二个,特此Mark一下。