c--> #define 定义宏

#define 定义宏

宏(Macro)是预处理命令的一种,它允许用一个标识符来表示一个字符串

1.有关定义宏的代码末尾不需要添加";"(分号)

2.定义宏define在计算的式子中相当于替代,类似于数学中的需要带入数值的x

#include <stdio.h>
#define ADD(x,y) x+y
int main(){
	printf("%d\n", 3 * 2 + ADD(2, 2) * 2);//3*2+2+2*2=12
	return 0;
}
#include <stdio.h>
#define ADD(x,y) (x+y)
int main(){
	printf("%d\n", ADD(2, 2) * 3);//(2+2)*3=12
	return 0;
}

3.宏定义必须写在函数之外,其作用域为宏定义命令起到源程序结束。如要终止其作用域可使用#undef命令。例如:

#define PI 3.14159

int main(){
    // Code
    return 0;
}

#undef PI

void func(){
    // Code
}

表示 PI 只在 main() 函数中有效,在 func() 中无效。

4.代码中的宏名如果被引号包围,那么预处理程序不对其作宏代替,例如:

#include <stdio.h>
#define OK 100
int main(){
    printf("OK\n");
    return 0;
}

运行结果:OK

语法:

define 宏名 宏的内容

带参宏定义的一般形式为:

#define 宏名(形参列表) 字符串

有两种形式:

类似与定义常量: #define MAX 100

类似与定义函数:#define ADD(x,y) x+y

posted @ 2022-01-14 17:25  programmer-lite  阅读(82)  评论(0编辑  收藏  举报