【C language】 Conclusion:typedef keyword #define

44 阅读1分钟

起别名typedef

  • 结构体起别名:简化 结构体类型名称
  • 指针起别名:
  • 函数指针类型
  • 数组类型
  • ...
typedef struct {  
    int x;  
    int y;  
} Point;  
 
Point p1;

#define

_____指令用来取消宏定义。// undefine

区别 typedef && 宏定义#define && 函数调用

  • typedef编译时处理

  • 宏定义#define 预编译时处理

  • 函数调用 :编译器会处理函数调用语句,但它不会实际执行这些调用。运行时执行调用函数并执行

  • 宏替换:因为宏替换是在预处理阶段进行的,此时编译器还没有开始执行代码的语义分析或表达式的求值。仅是直接将代码中的宏名替换,并不会先求表达式的值。