基本内置类型
算术类型
基本数据类型: 算术类型和空类型(仅用于特殊场合)
一个 char
的空间大小(8位)和一个机器字节一样.
其他字符类型用于扩展字符集, 如 wchar_r
, char16_t
, char32_t
类型用于确保可以存在机器最大扩展字符集中的任意一个字符, char16_t
, char32_t
则为Unicode(用于表示所有自然语言中字符的标准)字符集服务.
计算机以比特序列存储数据, 每个比特非0即1, 大多计算机以2的整数次幂个比特作为块来处理内存, 可寻址的最小内存成为字节(byte)(大多8比特), 存储的基本单元成为字(word)(大多32或64比特, 即4或8字节), 通常由几个字节组成. 大多计算机将内存中的每个字节与一个数字**地址(address)**关联.
浮点型可表示单精度, 双精度和扩展精度值.
字符的表现形式: 带符号和无符号的.
类型转换
未定义的: 超出表示范围, 程序可能继续工作, 可能崩溃, 也可能生成垃圾数据(避免无法预知和依赖于实现环境的行为, 不可移植的)
一般不在算术表达式里使用布尔值.
切勿混用带符号类型和无符号类型!!
字面值常量literal
八进制: 0-; 十六进制: 0x-, 0X-
编译器在每个字符串的结尾处添加一个空字符(’\0’), 因此字符串字面值("")的实际长度比内容多1.
不可打印(nonprintable)字符: 没有可视的图符(退格, 其他控制字符); 有特殊含义的字符(’, ", ?, ) —— 此时需要转义序列(escape sequence), 以\开始.
泛化的转义序列, \x后紧跟十六进制数字, 或\后紧跟八进制数字