查看: 515|回复: 0

[C/C++] C/C++中宏定义的使用1.2--#define和undef指令

[复制链接]

0

技术

9

魅力

1

原创

版主

禁止访问

Rank: 7Rank: 7Rank: 7

积分
7734
人气
176
分享
52

最佳新人活跃会员

发表于 2022-11-20 19:48:32 | 显示全部楼层 |阅读模式
【废话一堆】
嗨害嗨,家人们,我又双叒叕回来啦!
今天讲define和undef指令,话不多说,开始!

【define】
define指令分为两种
1.无参数
2.有参数
首先来讲讲无参数
它的使用方法如下:
[C] 纯文本查看 复制代码
#define 变量名 常量

例如这样:
[C] 纯文本查看 复制代码
#define x64JuRuo "I love x64"

来编译运行一下(printf输出x64JuRuo)
[C] 纯文本查看 复制代码
#include <stdio.h>

#define x64JuRuo "I love x64"

int main(int argc, char** argv)
{
	printf("%s", x64JuRuo);
}

输出:I love x64
接下来讲讲有参数的宏定义
其格式如下:
[C] 纯文本查看 复制代码
#define 变量(变量1,变量2,...) 运算公式/代码

例如,我们想写一个计算加法的函数,有两种方法:
第一种:
[C] 纯文本查看 复制代码
#include <stdio.h>

long add(long a, long b)
{
	return a + b;
}

肯定没人发现我叒改括号的位置了
第二种:
[C] 纯文本查看 复制代码
#include <stdio.h>

#define add(a,b) a+b

int main(int argc, char** argv)
{
	printf("%d", add(114, 514));
}

输出:
628
这就是带参数的宏定义
【undef】
undef的作用是停止宏的作用率,使用方法如下:
[C] 纯文本查看 复制代码
#undef 宏名

举个例子(详情看注释)
[C] 纯文本查看 复制代码
#include <stdio.h>

#define x64JuRuo "I love x64" //定义常量

int main(int argc, char** argv)
{
	printf("%s", x64JuRuo); //输出x64JuRuo
#undef x64JuRuo //停止作用域
	printf("%s", x64JuRuo); //报错了,未定义的标识符
}

学会了吗?


本帖被以下淘专辑推荐:

小菜鸡一枚~
Gitee主页:https://gitee.com/juruoqwq
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表