根据作用域不同将变量分为局部变量和全局变量 局部变量:在函数内定义的变量 作用范围:从定义开始往下的作用域 出了作用域之后内存就会被释放,不能在使用 如:

{
	int sun = 0;
	{
		printf("%d",sun);





	}
	
}
sun = 10//不能使用超出了作用域

局部变量超出自己的作用域会被释放

全局变量:在函数之外定义的变量 作用范围:从定义开始往下,在文件内所有的地方都可以使用 全局变量是在程序结束之后,会被释放 静态变量:static 定义格式:static 类型名 变量名; 在程序开始才被定义,只会被定义一次,程序执行之后将会被释放 不能重复定义

 const:常变量

定义格式:const 类型名 变量名; const定义的变量本质上来说还是变量,不过它具有常量的性质,值不会被改变 但是如果在C加加中,const定义的变量就是常量 程序中所定义的变量默认是动态局部变量(auto) 如 int a=1;只不过在前面省略了auto而已

静态变量是在程序开始后定义,结束后才会被释放,所以其生命周期比较长,在函数 调用中被定义一次,不会被定义多次,当执行到定义语句时,甚至不会被重置(初始化) 会保留上次的值 函数体可以没有语句,但是不可以没有花括号 函数的递归:在一个函数中,重复的调用自己(并不是无限的调用)