类型相关
- 基本类型:char、short、int、long
数值极限头文件<limits.h>和<float.h>
- CHAR_MIN、CHAR_MAX:char 类型极限
- INT_MIN、INT_MAX:int 类型极限
- FLT_MIN、FLT_MAX:float 类型极限
- 附加基本类型:size_t、ptrdiff_t、NULL 等,定义于<stddef.h>
极限头文件:<stdint.h>
- SIZE_MAX:size_t 类型对象的最大值
- 定宽整数类型:定义于头文件<stdint.h>
- int8_t:8 位有符号整数类型
- uint8_t:8 位无符号整数类型
- INT8_MIN:int8_t 类型最小值
- INT8_MAX:int8_t 类型最大值
内存管理
1 | void* malloc( size_t size ); |
字符串库
可参考我的文章:字符集和编码
宽字符串:每个字符的字节数固定的,通常是 Unicode 编码,也就是 Unicode 字节集中的序号
窄字符串:也叫多字节字符串,每个字符占用的字节个数不同,比如 UTF-8、GB2312、GBK 等;
宽字符和窄字符相互转换:
由于宽字符串是 Unicode 编码,所以跟环境无关
窄字符串的编码是可变的,比如 UTF-8、GB2312、GBK 等
所以窄字符串和宽字符串在转换过程中,会根据当前活动的 locale 的字符编码来识别窄字符串,然后进行转换
C 语言字符串操作函数分为 3 类:单字节字符串、多字节字符串和宽字符串
输入输出库
将字符串打印到控制台时,字符串的编码格式需要跟终端的一致