C语言基本数据类型详解
C语言数据类型分类
C语言的数据类型分类如下:
- 基本类型
- 数值类型
- 整型
- 短整型
short - 整型
int - 长整型
long 
 - 短整型
 - 浮点型
- 单精度
float - 双精度
double 
 - 单精度
 
 - 整型
 - 字符类型
char 
 - 数值类型
 - 构造类型
- 数组
 - 结构体
struct - 共用体
union - 枚举类型
enum 
 - 指针类型
 - 空类型
void 
整型数据
char1 字节 -128 到 127 或 0 到 255unsigned char1 字节 0 到 255signed char1 字节 -128 到 127int2 或 4 字节 -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647unsigned int2 或 4 字节 0 到 65,535 或 0 到 4,294,967,295short2 字节 -32,768 到 32,767unsigned short2 字节 0 到 65,535long4 字节 -2,147,483,648 到 2,147,483,647unsigned long4 字节 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位有效数字 |