函数中变量的生存期~~~~~带图片解释!!!!!

// 生存期的问题
#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[]数组也已经被销毁,所以结果为乱码
函数中变量的生存期~~~~~带图片解释!!!!!_第1张图片

你可能感兴趣的:(函数中变量的生存期~~~~~带图片解释!!!!!)