对宏的理解: 对比之前学的,enum(枚举)是给整数取名字,具体是给int类型的 整数,0,1,2···取名字。typedef是给数据类型取名字,数据类型就是int double ,结构体类型,指针类型,函数指针类型等等
对比枚举和typedef的功能,宏可以给一切的东西重命名。(本质是纯纯的替换,其他啥也不做)
写法:#define 它是一个预处理指令。
常量宏:
#include <stdio.h> #include <stdlib.h> #define ONE 1// ONE 是宏的名字,可以随便起,一般是大写。 1 是宏的本体 // ONE 叫做宏,宏的本体是1 int main(void) { //输出一下宏 printf("%d\n", ONE); system("pause"); return 0; }
如果在#define ONE 1 后面加 ;就会报错,这样理解:把1; 替换到 printf("%d\n", ONE);成了 printf("%d\n", 1;);
宏个语句
宏有多单纯?
替换完之后,再检查语法!
宏也可以做宏的本体
参数宏
参数宏中的每个x 最好都要加上一个()
括号加括号