C语言基本数据类型详解
C语言数据类型分类
C语言的数据类型分类如下:
- 基本类型
- 数值类型
- 整型
- 短整型
short
- 整型
int
- 长整型
long
- 短整型
- 浮点型
- 单精度
float
- 双精度
double
- 单精度
- 整型
- 字符类型
char
- 数值类型
- 构造类型
- 数组
- 结构体
struct
- 共用体
union
- 枚举类型
enum
- 指针类型
- 空类型
void
整型数据
char
1 字节 -128 到 127 或 0 到 255unsigned char
1 字节 0 到 255signed char
1 字节 -128 到 127int
2 或 4 字节 -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647unsigned int
2 或 4 字节 0 到 65,535 或 0 到 4,294,967,295short
2 字节 -32,768 到 32,767unsigned short
2 字节 0 到 65,535long
4 字节 -2,147,483,648 到 2,147,483,647unsigned long
4 字节 0 到 4,294,967,295
int的长度取决于操作系统的位数和编译器,一般在16位操作系统为2个字节,32位操作系统位4个字节,可以使用sizeof()得到对象或者存储类型的字节大小
浮点数简介
浮点数
的是相对于定点数
来说的,它们是两种表示小数的方式。
所谓定点
是指小数点的位置总是在数的某个特定位置。
浮点格式则是基于科学计数法的,因为它的小数点位置不固定。浮点数是既有整数又有小数的数,纯小数可以看作实数的特例。
浮点数在内存中整数部分始终是1
浮点型数据
类型 | 字节数 | 符号位 | 指数位 | 尾数位 | 指数范围 | 值范围 | 有效数字 |
---|---|---|---|---|---|---|---|
float |
4 | 1 | 8 | 23 | -127~+128 | -2^128 ~ +2^128 也即-3.40E+38 ~ +3.40E+38 |
2^23 = 8388608 即6~7 位有效数字 |
double |
8 | 1 | 11 | 52 | -1023~+1024 | -2^1024 ~ +2^1024 ,也即-1.79E+308 ~ +1.79E+308 |
2^52 = 4503599627370496 即15~16 位有效数字 |