在基本类型中的整数类型、浮点数类型和字符类型都已经在之前的文章中使用过了,这里面的_Bool
是布尔型,只能取 0 和 1 两个值;
数据类型的限定符
short , long, long long
我们可以为这些基本数据类型加上一些限定符,比如表示长度的 short 和 long。比如 int 经过限定符修饰之后,可以是 short int,long int,还可以是 long long int。其中 short int表示所占内存比int小的数据类型,而long int表示所占内存比int大的数据类型。
在 C 语言并没有限制 int 的大小,更没有限制short int等带限定符的数据类型的大小,只是规定了
`short int` <= `int` <= `long int` <= `long long int`
signed 和 unsigned
还有一对类型限定符是 signed 和 unsigned,它们用于限定 char 类型和任何 int 类型变量的取值范围。signed 表示该变量是带符号位的,而 unsigned 表示该变量是不带符号位的。带符号位的变量可以表示负数,而不带符号位的变量只能表示正数,它的存储空间也就相应扩大一倍。默认所有的整型变量都是 signed 的,也就是带符号位的。
对于 int 类型的变量来说,有四种表示长度的限定符(除int本身外,还有 short,long 和 long long),在加上符号位的限定signed和 unsigned,所以一共存在着 8 种int 类型的变量。
sizeof 运算符
sizeof 用于获得数据类型或表达式的长度,它有三种使用方式:
sizeof(type_name); //sizeof(类型),即某一种类型的变量所占内存大小;
sizeof(object); //sizeof(对象),即某一个对象所占内存大小;
sizeof object; //sizeof 对象,查看对象占用内存大小的另一种表达方式;