在c语言中,有这么几种基本数据类型:整型,字符型,浮点型。这篇文章主要讲的是整型变量。
整型变量的大小
那么如何定义一个整型变量呢?
可以使用关键字 int + 变量名 来定义,也可以直接给变量进行赋值
那如何来深入理解呢?我们也可以将它理解为定义了一块内存,这块内存是有大小的,通常为4个字节,在计算机中体现为32位二进制来存储
整型变量的取值范围
32位二进制是由1个符号位+31个数据位组成,第一个数字代表符号,0代表正,1代表负。
那么最大的数字就是 0 + 31个 1 组成:0111...1111 (也就是2^31-1) 最小的数字就是 -2^31,所以int的取值范围是[-2^31,2^31-1]
特殊的整型变量
但是在我们实际应用中,我们可能用不到这么大的数字,比如我们想定义一个年龄的整型变量,可能只有两位数字,为了节省内存,通常会定义短整型变量:short int
short int 的大小在不同平台不尽相同,通常为2个字节,取值范围是[-2^15,2^15-1]
同样地,有短就有长,还有long int,以及long long int,在不同平台也都不一样,通常为4个字节和8个字节,取值范围是[-2^31,2^31-1]和[-2^62,2^62-1]
正如刚才说的年龄或是分数这些变量一般都是正数,所以可以用 unsigned 来修饰,这样会使正数的取值范围增大一倍,例如 unsigned int的取值范围变成[0,2^32-1],当然也可以和其他的特殊整型变量搭配使用:
在给这些变量赋值的时候最好在后面写个后缀,short没有s后缀
如有不足,欢迎指正!