变量{
<存储类型> <数据类型> 变量名;
局部变量{
定义位置是在模块内部
作用域:模块内部
生命周期: 模块结束的时候
普通的局部变量如果未初始化,系统给它一个随机数.
}
全局变量{
定义位置所有模块外部
作用域: 整个程序
生命周期: 程序结束的时候
如果未初始化,系统帮它初始化为0
}
存储类型:
1.auto(自动存储类型): auto int a;
2.static(静态存储类型):1.修饰局部变量,改变变量的生命周期(延长到程序结束的时候),但是作用域不变,只初始化一次。
2.修饰全局变量,生命周期不变,限制了变量的作用域(只能在本文件中使用).
3.修饰函数,生命周期不变,限制了函数的作用域(只能在本文件中使用)
3.extern(修饰函数与全局变量): 修饰函数和全局变量代表该函数和全局变量能够被其他文件所引用.通常函数和全局变量默认是extern类型.
4.register(寄存器类型):表明把变量申请到寄存器上面.处理速度快,数量少(很有可能申请不成功自动转为auto类型). register int a;
}
类型转换{
强制转换: (数据类型)变量名; 例子: float a = 1.634; int b = (int)a; b = 1 ;
数据精度改变
}
隐式转换{
低精度往高精度. 最终数据类型和左值匹配. int c , a=2; float b = 1.23; c = a+b; c =3;
有符号往无符号转换.
}
}