用宏定义替代简单的自定义函数

  • 宏定义可以帮助我们防止出错,提高代码的可移植性和可读性等。

因此它的重要性不得而知

首先我们得知道预编译又叫预处理。预编译不是编译,而是编译前的处理。这个操作是在正式编译之前由系统自动完成的。

首先我们来复习一下宏定义基本用法

#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

未完待续
等我学的再深入再回来补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值