变量
- 变量分为全局变量和局部变量
- 全局变量:定义在函数外部,程序开始到结束一直都在
- 局部变量:定义在函数内部,在函数内部有效
定义变量
- 定义变量(声明),任何变量在使用之前,必须先进行定义
- 定义变量的目的:在内存中分配一块存储空间给变量,方便以后存储数据
- 如果定义多个变量,就会为这多个变量分配不同的存储空间
- 定义变量有两种格式:
- 格式一:变量类型 变量名称
int a; float b; char ch;
- 格式二:变量类型 变量名称,变量名称....
int a,b; int a,b,c,d;
- 声明变量的注意点:
- 命名规则
- 命名规范
初始化
- 变量第一次赋值我们称为初始化,使用变量之前,
必须声明之后初始化
,否则不能使用 - 变量中不能随便存储数据,赋值的数据要和变量的类型一致
- 初始化的两种形式:
- 先定义后初始化
int value; value = 998;
- 定义的同时进行初始化
int a = 10; int a, b = 10; int a = 4, b = 2;
- 其他表现形式
// 批量初始化 int a,b,c; a = b = c = 10;
作用域
- C语言中所有变量都有自己的作用域,声明变量的类型不同,其作用域也不同,C语言中的变量,按照作用域的范围可分为两种,即局部变量和全局变量
局部变量
- 局部变量也称为内部变量,局部变量是在函数内部定义说明的,其作用域仅限于函数内部(代码块内部)
- 在主函数中定义的变量也只能在主函数中使用,不能再其他函数中使用,同时主函数中不能使用其他函数定义的变量
- 形参变量是属于被调用函数的局部变量,实参变量是属于主调函数的局部变量
- 允许在不同的函数中使用相同的变量名,他们代表不同的对象,分配不同的内存,互不干扰,也不会发生混淆
变量占用存储空间
类型 | 16位编译器 | 32位编译器 | 64位编译 |
---|---|---|---|
char | 1 | 1 | 1 |
int | 2 | 4 | 4 |
float | 4 | 4 | 4 |
double | 8 | 8 | 8 |
short | 2 | 2 | 2 |
long | 4 | 4 | 8 |
long long | 8 | 8 | 8 |
void* | 2 | 4 | 8 |
变量的取值范围
- 不同数据类型所占用的存储空间是不一样的,字节长度一样,包含的二进制位数就不一样,能表示的数据范围也不同
- 如果赋值的时候超出了变量的取值范围,那么将损失精度,得到不是我们想要的数据
类型 | 所占字节 | 表示范围 |
---|---|---|
int | 4 | -2(31) ~ 2(31)-1 |
signed short int | 2 | -2(15) ~ 2(15)-1 |
signed long int | 4 | -2(31) ~ 2(31)-1 |
unsigned int | 4 | 0 ~ 2(32)-1 |
unsigned short int | 2 | 0 ~ 2(16)-1 |
unsigned long int | 4 | 0 ~ 2(32)-1 |
float | 4 | 精度7位 |
double | 8 | 精度16位 |
网友评论