数据类型(32位平台下)
数据类型
所占字节数
取值范围
char
1
-128~127
unsigned char
1
0~255
short
2
-32768~32767
unsigned short
2
0~65535
int
4
-2147483648~2147483647
unsigned int
4
0~4294967295
long
4
-2147483648~2147483647
unsigned long
4
0~4294967295
float
4
double
8
长整型至少应该和整型一样长,而整型至少应该和短整型一样长。
缺省的char变量要么是unsigned char ,要么是signed char,这取决于编译器,所以,如果对程序的可移植性要求比较高的话,程序中所使用的char型变量的值位于signed char 和 unsigned char之间。
常量
1、字面常量
类似于 1 , 3.14 , ‘ a ’, ' \n ' 等
2、const 定义的常变量
在C语言中,const修饰的变量仍然是一个变量,但是具有常属性,不能直接被改变
在C++中,const修饰的标识符就是一个常量
3、#define 宏定义的标识符常量
eg: #define PAI 3.1415
4、枚举常量 (枚举关键字:enum)
枚举常量默认第一个值为0,之后依次递增1.
eg:
enum Sex
{
MALE, //值为0
FEMALE, //值为1
SECRET //值为2
}
枚举常量的好处
1)、提高程序的可读性
2)、提供有限个选择,避免错误输入其他信息,规范程序的有效执行性,使代码更严谨。
变量
变量的命名规则:
C语言规定必须以字母或下划线 _ 开头,后面可以跟若干个字母、数字、下划线。且不能使用关键字或保留字做变量名
变量的分类
局部变量:出现在局部范围(代码块内部)内的变量
全局变量:出现在所有代码块之外的变量
局部变量
全局变量
生命周期
创建的那个局部范围
止于程序结束
作用域
当前代码块内
整个工程
存储位置
栈空间
静态区
static修饰的变量与全局变量的异同
相同点
1、生命周期都是止于程序结束
2、都存在静态区
相异点
1、作用域不同(static修饰的变量作用域为局部范围)
2、全局变量有外部链接属性(static修饰的变量没有)
注意:若用static修饰全局变量会改变其外部链接属性
变量有值属性和类型属性两种属性。在创建一个变量的时候最好将其初始化。