Appearance
在 C 语言中 , 基本数据类型可分为如下几类 :
- 整数类型:
int,short int,long int...... - 浮点类型:
float,double - 字符类型:
char - 聚合类型: 数组类型和结构体类型
- 枚举类型
- 空类型: 即
void
由于 char 实际上是 ASCII 码表对应数字序号 , 也可以算作整数类型 .
整数类型
char类型 , 1 字节short int类型 , 2 字节int类型 , 4 字节long int (long)类型 , 依据系统不同有 4 字节和 8 字节
实型数据
也就是浮点型数据 :
float单精度浮点型数据 , 4 字节double双精度浮点型数据 , 8 字节
数据类型的转换
1. 自动类型转换
又叫做隐式转换 , 由小取值范围的类型转换到大取值范围的类型 . char -> short -> int -> float -> double
C 语言在如下的情况下会发生隐式数据转换 :
- 赋值操作 : 例如
int a = 3; float b = a; - 算术运算 : 例如
unsigned int a = 100; int b = -150; int c = a + b; - 函数调用 : 如果参数和函数声明参数类型不匹配 , 程序会尝试自动转换
🌵 C 语言中存在 整型提升 , 也就是 char, short 等小于 int 类型的数据在进行算术运算的时候 , 会先将其转换为 int 类型再进行计算 .
另外 , unsigned int 和 int 计算的时候 , int 也会转换为 unsigned int 后进行计算 .
2. 强制类型转换
c
float a = 8.8;
int b = (int)a;