宏定义(define)和可变参数函数(variable arguments)

本文介绍了宏定义的两种类型,无参数和有参数宏定义,并通过实例展示了其用法。接着,详细讲解了可变参数函数的概念,包括相关函数的使用。最后,提出如何构建一个通用的可变参数函数,该函数不仅能打印信息,还能在出现错误时输出错误位置并退出程序。结合宏定义和可变参数函数,为程序提供了灵活的错误处理方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

宏定义(define)和可变参数函数(variable arguments)

1,宏定义(define)

  • 宏定义是在编译时对程序进行文本替换,在宏定义替换过程中,只有字符串替换操作,没有运算操作
  • 宏定义分两种,一是普通的无参数宏定义;二是带实参的宏定义;

(1) 无参数宏定义

#define 宏名(标识符) 替换的文本

范例:

#define PI 3.14
double i = PI;
	--> 编译时,替换
        double i = 3.14;
#define N 5
#define NN N.123
double b = NN;
	--> 编译时,替换
        --> b = 5.123

(2) 有参数宏定义

#define 宏名(标识符) (参数列表) 替换文本
  • 由于宏是字符串替换,参数列表里面的参数都是字符串,故参数列表的参数是不带类型的参数,只代表一个替换字符串
  • 宏名代表了宏,无需带有参数列表
  • 替换文本知识被当做文本,进行指定字符串替换

范例:

#define MESSAGE(type) { printf("%s\n", type); }
MESSAGE("WARNING:\n");
	--> 编译时,替换
    {
    printf("%s\n", "WARNING:\n");}
		--> WARNING:

2,可变参数函数

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值