Skip to content
On this page

C语言数据类型


标签:clang/basic  

在 C 语言中 , 基本数据类型可分为如下几类 :

  1. 整数类型: int, short int, long int......
  2. 浮点类型: float, double
  3. 字符类型: char
  4. 聚合类型: 数组类型和结构体类型
  5. 枚举类型
  6. 空类型: 即 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 语言在如下的情况下会发生隐式数据转换 :

  1. 赋值操作 : 例如 int a = 3; float b = a;
  2. 算术运算 : 例如 unsigned int a = 100; int b = -150; int c = a + b;
  3. 函数调用 : 如果参数和函数声明参数类型不匹配 , 程序会尝试自动转换

🌵 C 语言中存在 整型提升 , 也就是 char, short 等小于 int 类型的数据在进行算术运算的时候 , 会先将其转换为 int 类型再进行计算 .

另外 , unsigned intint 计算的时候 , int 也会转换为 unsigned int 后进行计算 .

2. 强制类型转换

c
float a = 8.8;
int b = (int)a;

Last updated: