如何将函数体中的新字符串返回
1:char * fun(){char *s ="abc";return s;}是可以的,因为"abc"存在静态的常量区域
2:char * fun(){char s[]="abc";return s;}是不可以的,"abc"存储在静态区域,但是在此局部的堆栈中会有一份拷贝,及char s[]="abc"其实创建了俩份数据,return返回的只是拷贝的那部分,即堆栈中局部变量,返回后清空地址就无效了。
char a[]="abc"; char b[]="abc";
a!=b....因为数组变量有自己的空间
char *a="abc";char *b="abc";
a==b....指针不需要内存空间,都是指向同一片静态常量"abc"的区域