C语言----数据类型和取值范围

C语言----数据类型和取值范围_后端

在基本类型中的整数类型、浮点数类型和字符类型都已经在之前的文章中使用过了,这里面的_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 类型的变量。
C语言----数据类型和取值范围_c语言_02C语言----数据类型和取值范围_限定符_03

 

sizeof 运算符
  sizeof 用于获得数据类型或表达式的长度,它有三种使用方式:

sizeof(type_name); //sizeof(类型),即某一种类型的变量所占内存大小;
sizeof(object); //sizeof(对象),即某一个对象所占内存大小;
sizeof object; //sizeof 对象,查看对象占用内存大小的另一种表达方式;