数据类型
为什么要对数据进行分类?
1、现实生活中的数据本身自带类别属性
2、对数据进行分类可以节约存储空间、提高运行速度
c语言中数据分类为俩大类:自建(程序员自己设计的类型:结构、联合、类)、内建(C语言自带的类型)
注意:运算符sizeof 可以计算类型、变量的字节数整型
整型: sighed 有符号(正 首位是0;负 首位是1)
sighed char 1(字节) -128~127 (256个)
Sighed short 2 -32768~32767
Sighed int 4 正负20亿
Sighed long 4/8(取决于32位还是64位)
Sighed long long 8 正负9开头19位整数
unsighed 无符号
unsighed char 1 0~255
unsighed short 2 0~65535
unsighed int 4 0~40亿
unsighed long 4/8(取决于操作系统位数32位还是64)
unsighted long long 8 0~1开头20位整数
注意:signed不加就代表了加
由于定义无符号整型时比较麻烦,C标准库把这些类型重定义成一些新的简单的类型名:
需要导入头文件<stdint.t>
uint8_t (char 1字节) uint16_t (short 2字节) uint32_t (int 4字节) uint64_t (long 8字节)
int8_t int16_t int32_t int64_t
浮点型:有小数部分的类型
float 单精度( 4) 双精度 double(8) long double12/16(取决于操作系统位数)
注意:小数点后六位有效
注意:采用一定的算法对真实的浮点型数据到二进制数据进行转换这个过程比存储、读取整型要慢得多,编程时尽量使用整型数据
模拟型:
字符型:char 字符就是符号或图案,在内存中存储的依然是整数,需要显示出字符时,会根据ASCII表中对应的关系显示出对应的字符或图案。 ‘0’ 48 ‘A’ 65 ‘a’ 97
‘\0’ 0 空字符(特殊字符)
布尔型:bool (整型) 先有的C语言后有的bool类型,所以C语言中不可能有真正的布尔类型,在头文件 stdbool.h中对布尔类型进行了模拟 bool true false