数据类型
------------------ | ----------- | ------------------------------------ |
| 基本整型 | int | C标准未规定,与系统相关.一般占4个字节 |
| 短整型 | short | 2 |
| 长整型 | long | 4 |
| 单精度实型 | float | 4 |
| 双精度实型 | double | 8 |
| 长双精度实型 | long double | 与系统相关,VC++中占8个字节 |
| 字符型 | char | 1 |
| 无符号整型(正整数和0) | unsigned | 用来修饰 int 、short 和long |
存储方式
不同数据类型的存储形式不同
字符型数据是以二进制编码方式存储在内存中
- 一个字节保存一个字符(英文字母、数字、控制符)
- 字符常数就是一个整数
字符编码的方式取决于计算机系统使用的字符集
- 以
ASCII
字符集为例 - 每个字符具有一个 0~127之间的编码值(只利用了7个bit位,最高位未利用)
- 最高位被用作奇偶校验位
- 奇偶校验
- 校验代码在传输过程中是否出现错误
- 奇校验规定
- 若一个字节的编码序列中1的个数是奇数,则校验位,置为1,否则置为0.
- 偶校验规定与奇校验相反
- 奇偶校验
- 以
ASCII
扩展码- 利用了最高位,值扩展128~255
- 存放英文的制表符、部分英标符和其他符号
汉字是如何存储的
- 汉字编码,必须兼容
ASCII
码,使用连续的2个字节,仅在其第7位均为1时被当作是汉字 GB2312
、BIG5
更强大的编码
- 国际标准化组织(ISO)制定了Unicode字符集,为各种语言中的每个字符设定统一且唯一的数字编号
- 所有字符统一用两个字节保存,宽字节字符–65536个字符
计算变量类型占内存空间的大小
- 使用
C
运算符–sizeof
(变量名) - 计算类型所占的字节数
- 使用
总结