这二题都有问题,但问题各不相同,请问char p[] 和 char *p 的存放位置?为什么? (栈区或静态区或堆等)
这二题都有问题,但问题各不相同,请问char p[] 和 char *p 的存放位置?为什么? (栈区或静态区或堆等)
例1:
char *GetString( void )
{
char p[] = "hello world"; return p; ////存放在栈区,可以理解.
}
void Test( void )
{
char *str = NULL;
str = GetString();
printf( str );
}
例2:
char *GetString( void )
{
char *p = "hello world"; ////存放的区域,理解不了.
return p;
}
void Test( void )
{
char *str = NULL;
str = GetString();
printf( str );
}