对宏的理解: 对比之前学的,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
", ONE);
        system("pause");
    return 0;
}

如果在#define ONE 1 后面加 ;就会报错,这样理解:把1; 替换到 printf("%d ", ONE);成了 printf("%d ", 1;);

宏个语句

 宏有多单纯?

替换完之后,再检查语法!

宏也可以做宏的本体

参数宏

 参数宏中的每个x  最好都要加上一个()

括号加括号

原文地址:https://www.cnblogs.com/dabing0983/p/10547874.html