typedef vs #define
#define 是 C 指令,用于为各种数据类型定义别名,与 typedef 类似,但是它们有以下几点不同:
- 1)typedef 仅限于为类型定义符号名称,#define 不仅可以为类型定义别名,也能为数值定义别名,比如您可以定义 1 为 ONE。
- 2)typedef 是由编译器执行解释的,#define 语句是由预编译器进行处理的。
- 预定义宏
-
ANSI C 定义了许多宏。在编程中您可以使用这些宏,但是不同直接修改这些预定义的宏。
宏 描述 __DATE__ 当前日期,一个以 "MMM DD YYYY" 格式表示的字符常量。 __TIME__ 当前时间,一个以 "HH:MM:SS" 格式表示的字符常量。 __FILE__ 这会包含当前文件名,一个字符串常量。 __LINE__ 这会包含当前行号,一个十进制常量。 __STDC__ 当编译器以 ANSI 标准编译时,则定义为 1。