重温基础,爷青回系列二()局部变量和全局变量)
根据作用域不同将变量分为局部变量和全局变量
局部变量:在函数内定义的变量 作用范围:从定义开始往下的作用域
出了作用域之后内存就会被释放,不能在使用
如:
{
int sun = 0;
{
printf("%d",sun);
}
}
sun = 10//不能使用,超出了定义域
局部变量超出自己的作用域会被释放
全局变量:在函数之外定义的变量
作用范围:从定义开始往下,在文件内所有的地方都可以使用
全局变量是在程序结束之后,会被释放
静态变量:static
定义格式:static 类型名 变量名;
在程序开始才被定义,只会被定义一次,程序执行之后将会被释放
不能重复定义
const:常变量
定义格式:const 类型名 变量名;
const定义的变量本质上来说还是变量,不过它具有常量的性质,值不会被改变
但是如果在C加加中,const定义的变量就是常量
程序中所定义的变量默认是动态局部变量(auto)
如 int a=1;只不过在前面省略了auto而已
静态变量是在程序开始后定义,结束后才会被释放,所以其生命周期比较长,在函数
调用中被定义一次,不会被定义多次,当执行到定义语句时,甚至不会被重置(初始化)
会保留上次的值
函数体可以没有语句,但是不可以没有花括号
函数的递归:在一个函数中,重复的调用自己(并不是无限的调用)
局部变量:在函数内定义的变量 作用范围:从定义开始往下的作用域
出了作用域之后内存就会被释放,不能在使用
如:
{
int sun = 0;
{
printf("%d",sun);
}
}
sun = 10//不能使用,超出了定义域
局部变量超出自己的作用域会被释放
全局变量:在函数之外定义的变量
作用范围:从定义开始往下,在文件内所有的地方都可以使用
全局变量是在程序结束之后,会被释放
静态变量:static
定义格式:static 类型名 变量名;
在程序开始才被定义,只会被定义一次,程序执行之后将会被释放
不能重复定义
const:常变量
定义格式:const 类型名 变量名;
const定义的变量本质上来说还是变量,不过它具有常量的性质,值不会被改变
但是如果在C加加中,const定义的变量就是常量
程序中所定义的变量默认是动态局部变量(auto)
如 int a=1;只不过在前面省略了auto而已
静态变量是在程序开始后定义,结束后才会被释放,所以其生命周期比较长,在函数
调用中被定义一次,不会被定义多次,当执行到定义语句时,甚至不会被重置(初始化)
会保留上次的值
函数体可以没有语句,但是不可以没有花括号
函数的递归:在一个函数中,重复的调用自己(并不是无限的调用)