- 宏定义可以帮助我们防止出错,提高代码的可移植性和可读性等。
因此它的重要性不得而知
首先我们得知道预编译又叫预处理。预编译不是编译,而是编译前的处理。这个操作是在正式编译之前由系统自动完成的。
首先我们来复习一下宏定义基本用法:
#define M 10 //切记不能再后面加分号
以下是我在百度百科里面找到的相关内容
#define 宏名 字符串;
带参宏定义的一般形式为:
#define 宏名(参数表) 字符串;
C语言中,可以用 #define 定义一个标识符来表示一个常量。
其特点是:定义的标识符不占内存,只是一个临时的符号,预编译后这个符号就不存在了。
有时候在遇到一些简单的函数操作时我们可以使用宏定义去替换某些自定义函数
比如下面这个找两个数中较大的数
//利用自定义函数
实现int max( int num1, int num2)
{
return (num1 > num2 ? num1 : num2);
}
下面附上用预处理实现比较两个数字大小
#include<stdio.h>
#define MAX(x,y) x>y ? x:y //如果x>y,那么MAX(x,y)的值就是x,否则就是y
int main()
{
int a,b,max;
scanf("%d %d ",&a,&b); //调用函数输出最大值
max=MAX(a,b); //依次比较
printf("%d",max);
return 0;
}
而如果比较三个数字类似的也可以
#define MAX(x,y,z) (x>y?x:y)>z?(x>y?x:y):z