目录
2>sizeof后面的表达式不会真实参与运算 ,会根据表达式的类型得出结果
1>C语言使用signed和unsigned关键字来修饰字符型和整型
2>对于int类型,默认是带正负号的,int等同于unsigbed int
4>C语言规定char类型默认值是否带有正负号,由当前系统决定
2.1 数据结构分类
2.2整型
这些类型申请的空间大小是不同的
2.3 浮点型
2.4 布尔类型
_Bool 后来加入的 布尔类型专门用来表示真/假的变量 C语言中使用0表示假,非0表示真
-1表示真 ,只有0表示假
布尔类型的使用要包含头文件<stdbool.h> ,布尔类型变量的取值是 true或者false
2.5 各种数据类型的长度
1>使用sizeof操作符测量数据类型的长度
sizeof是一个关键字,也是操作符,专门用来计算sizeof的操作符数据的长度,单位是字节,sizeof操作符的操作数可以是类型,也可以是变量或者表达式。
sizeof(类型)是类型必须加括号 ; sizeof 表达式 是表达式可以不加括号
2>sizeof后面的表达式不会真实参与运算 ,会根据表达式的类型得出结果
a+3是int 类型占用4个字节,b是short类型占用2个字节,此时数据会发生截断,表达式不会执行
3>sizeof的计算结果是size_t类型
sizeof运算符的返回值,C语言只规定是无符号整数,并没有规定具体的类型,而是留给系统自己去决定,sizeof到底返回什么类型,不同系统中,返回值的类型可能是unsigned int ,也可能是unxigned long,unsigned long long,对于printf()的占位符分别是%u,%lu %llu C语言提供了一个解决方法,创造了size_t类型别名,用来统一sizeof的返回值类型
2.6 signed和unsigned
1>C语言使用signed和unsigned关键字来修饰字符型和整型
signed---->表示一个类型带有正负号,包括负值
unsigned--->表示一个类型不带有正负号,只有0和正整数
2>对于int类型,默认是带正负号的,int等同于unsigbed int
3>整型声明变量时使用unsigned的好处
同样长度的内存能过表示的最大整数值,增大了一倍
例如 16位的 signed short int 的取值范围是:-32768~32767,最⼤是32767;⽽
4>C语言规定char类型默认值是否带有正负号,由当前系统决定
就是说char不等同于signed char ,他可能是unsigved char 也可能是signed char(与int不同)
2.7 整型类型的取值范围
SHRT_MIN , SHRT_MAX :short 的最⼩值和最⼤值。
INT_MIN , INT_MAX :int 的最⼩值和最⼤值。