浅谈C语言中的宏定义

本文详细介绍了C语言中的宏定义,包括基本概念、形式、常见问题与小技巧,带参数的宏定义以及常见的宏定义指令。通过实例解析了宏替换的工作原理,强调了宏定义与typedef的区别,并提醒了在宏定义中需要注意的细节问题。

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

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档



提示:以下是本篇文章正文内容,下面案例可供参考

一、宏定义的基本介绍

1、计算机语言如C或汇编语言有简单的宏系统,由编译器或汇编器的预处理器实现。C的宏预处理器的工作只是简单的文本搜索和替换

2、#define PI 3.14 就是宏定义,N做为宏名,3.14就是宏的内容(宏所表示的字符串)。在预处理阶段,对程序中所有出现的“宏名”,预处理器都会使用宏定义中的字符串区进行替换,这称为“宏替换”或“宏展开”。宏定义是由源程序中的宏定义命令#define完成的,宏替换是由预处理程序完成的。

二、宏定义的形式

#define   宏名  字符串
1、所有的预处理命令都以 # 开头(注意:宏定义末尾不需要加 分号,而使用typedef为现有类型创建别名末尾需要加 分号)。

2、宏名属于标识符的一种,命名规则和变量相同。

3、字符串可以是数字、表达式、if语句、函数等。这里所说的字符串是一般意义上的字符序列,不要和C语言中的字符串等同,它不需要双引号。

三、宏定义使用中的小坑 && 小技巧

1、宏定义在程序中只起到替换作用,不会进行计算

2、如果在宏定义行末加上分号,则会将分号一起替换。

例如:这个程序,要是仔细看就可以发现var = PI语句后面缺少分号,应该是要报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值