目录
库函数
-
putchar()
- 返回为int型
-
文件
- FILE不能同时为读取和写入
- Fseak会改变读写状态
宏定义
-
为什么用宏定义
- 为全局使用
- 减少开销
-
宏定义中不能随便用空格
-
宏定义不是函数
- 宏定义不是函数,用作函数会出问题
- 宏定义只是做替换
-
宏定义不是语句
- 宏定义不是语句,例如:
#define assert(e) if(!e)… if(x > y) assert(x > y); else assert(x < y);
变成
#define assert(e) if(!e)… if(x > y) if(!(x > y)) …; else If(!(x < y))…;
- 宏定义不是语句,例如:
-
宏定义不是类型定义
例如:
#define T1 struct f*; 指向结构体f的指针类型
替换为
typeof struct f* T1;