X64论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

热搜: 样本 软件
查看: 31|回复: 0

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

[复制链接]

0

技术

0

魅力

1

原创

略有小成

Rank: 4

积分
1851
人气
49
分享
20

最佳新人

发表于 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); //报错了,未定义的标识符
}

学会了吗?


既然前路未知,那先做好当下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|X64论坛 ( 沪ICP备2020028431号-4 )|网站地图

GMT+8, 2022-12-8 18:23 , Processed in 0.054512 second(s), 8 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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