// 生存期的问题
#include<stdio.h>
#include<iostream.h>
char *GetString()
{
char str[]="xiao ya";
//staic char str[]="xiao ya";//静态局部变量(函数死亡,变量依旧存活)
//char *str="xiao ya"
return str; //数组名代表数组的首地址
}
void main()
{
char *s=NULL;
s=GetString(); //将函数的首地址存放到s中
cout<<s<<endl; //执行完函数后,GetString()中的一切生存期结束,
} //都将被销毁,当然str[]数组也已经被销毁,所以结果为乱码
函数中变量的生存期~~~~~带图片解释!!!!!
最新推荐文章于 2023-02-01 15:23:17 发布