数据类型
类型决定:占多少内存、能表示什么范围、如何解释这些 0/1。选错类型,轻则数值不对,重则溢出。
1. 概念:类型是给内存「贴标签」
内存本身只是一串字节。类型告诉你:这串字节当整数看、当小数看,还是当字符看。
| 类型族 | 关键字 | 直觉 | 典型用途 |
|---|---|---|---|
| 整数 | short int long long long | 无小数 | 计数、索引、状态 |
| 浮点 | float double | 有小数且近似 | 电压、温度、系数 |
| 字符 | char | 一个字符/小整数 | 字母、状态字节 |
2. 同一串字节,不同解释
| 1 | int a = 0x41424344; |
| 2 | char *s = (char *)&a; // 仅示意:把整数内存当字节看 |
| 3 | /* 在小端机器上可能看到 D C B A 顺序的字符 */ |
| 4 | /* 初学先记住:类型决定解释方式 */ |
3. 选型流程(工程直觉)
- 是不是整数个数/下标/开关位?→ 整数族
- 要不要小数或测量换算?→ float/double
- 是不是单字节/字符?→ char 或 uint8_t
- 是否要固定宽度跨平台?→ stdint.h 的 int32_t 等