【Cpp】考点·宏

一、#define的基本用法

1.#define命令剖析

1.1 #define的概念

#define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。该命令有两种格式:一种是简单的宏定义,另一种是带参数的宏定义。

(1)简单的宏定义

#define <宏名> <字符串>
#define PI 3.1415926

(2)带参数的宏定义

#define <宏名> (<参数表>) <宏体>
#define A(x) x

一个标识符被宏定义后,该标识符便是一个宏名。这时,在程序中出现的是宏名,在该程序被编译前,先将宏名用被定义的字符串替换,这称为宏替换。替换后才进行编译,宏替换是简单的替换。

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 #define product(x) x*x
 6 int main()
 7 {
 8     int i = 3;
 9     int j, k;
10     j = product(i++);
11     cout << "j= " << j << endl;
12     cout << "i= " << i << endl;
13     k = product (++i);
14     cout << "k= " << k << endl;
15     cout << "i= " << i << endl;
16     return 0;
17 }

可以看出,i第一次被输出为5是因为宏替换后i++执行了两次。

二、常用的一些宏定义

1.防止一个头文件被重复包含

#ifndef BODYDEF_H
#define BODYDEF_H
//头文件内容
#endif

 

转载于:https://www.cnblogs.com/solare/p/3734697.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值