地址的返回与c++引用返回是不一样的
2与3得区别是
* str="i love you",str是常量指针,编译器知道接受到'\0'结束,所以函数返回一个地址编译器认为安全,然后返回给一个指针所以不会删除;
char str[]="i love you";这个虽然也返回一个地址,但是生存期结束后数组就失效了,由于不知道长度('\0'不是结束标记),由于释放后地址会被重用..其实也是可以返回的char str1=*fun3();printf("%c",str1);但是马上这段地址就被用了.你可以调试下