变量知识总结
顾名思义,变量就是在程序运行中数值可以改变的量,和上期常量一样,变量也需要有个名字作为标识,我们这次主要概括变量标识符的命名规则。
1.整型变量(只能存放整型数值)
要知道,数据在内存中是以二进制形式(机器数)存放的,这就涉及到了我们常见的原码,反码和补码问题了。
在这里引用一位大神对其的解释:https://www.cnblogs.com/zhangziqiu/archive/2011/03/30/computercode.html
整型变量的分类:
类型说明符 | 分配字节数 |
---|---|
int | 4 |
short[int] | 2 |
long[int] | 4 |
unsigned short[int] | 2 |
unsigned long[int] (后缀为LU) | 4 |
unsigned [int](后缀为U) | 4 |
注意:无符号类型量所占内存空间字节数与相应的有符号类型相同。但由于省去了符号位,所以不能用来表示负数,但同时可存放的数的范围比一般整型变量大了一倍。
2.实型(浮点型)变量
*实型数据在计算机内存中是按指数形式存储的,规则即实型常量的命名规则。
类型说明符 | 有效数字 |
---|---|
float | 6~7 |
double | 15~16 |
long double | 18~19 |
3.字符型变量
字符变量用于存储字符常量,只能存放一个字符,不能存放一个字符串。类型说明符为char,其定义和书写格式与整型变量相同。
存放形式:
字符值是以ASCII码的形式存放在变量内存单元中的。
由于其与整型的存储形式类似,所以可以把它看成整型量,字符型数据与整型数据之间可以通用。如char a=97;
误差问题:
int main()
{
double n=0.01;
double tmp=0;
for(int i=0;i<40000000;i++)
{
tmp+=n;
}
printf("%f",tmp);
return 0;
}
运行后会发现结果与预期有一定差距,所以说浮点型是存在误差的,但一般以实际结果运算。整数则不会存在误差。
其实变量和指针还是有点类似之处的,这样说是因为变量名也是一个地址。