C语言有四种数据类型:基本类型、构造类型(数组类型,结构体类型,共用体类型)、指针类型、空类型。
变量的存储类型:静态存储和动态存储
自动auto,静态static,寄存器register,外部extern
auto变量:
auto关键字用于定义一个局部变量为自动的,这意味着每次执行到定义该变量时,都会产生一个新的变量,并对其重新进行初始化。局部变量的存储方式默认为自动的。
static变量:
static变量为静态变量。对于局部变量来说,static变量是和auto变量相对而言的。尽管二者的作用域都仅限于声明变量的函数之中,但在语句块执行期间,static变量将始终保持它的值,并且初始化操作只在第一次执行时起作用,在随后的的运行过程中,变量将保持语句块上一次执行时的值。
register变量:
register变量称为寄存器存储类变量。可以吧某个局部变量指定存放在计算机的某个硬件寄存器中。
extern变量:
extern变量称为外部存储变量。extern声明了程序中将要用到但尚未定义的外部变量,通常,外部存储类都用于声明在另一个转换单元中定义的变量。
不同类型数据之间的转换:
在进行混合运算时,不同类型的数据要先转换成同一类型然后再进行运算。
如:10+‘a’-1.5+3.2*6
结果:68.200000
自动类型转换:
比较短的数值类型的变量可赋值给较长的数值类型变量
比较长的数值类型的变量不可赋值给较短的数据类型变量