c语言-预处理指令

本文介绍了C语言的预处理指令,包括宏定义、无参宏定义的注意事项、带参宏定义、文件包含以及条件编译指令。通过实例解析了宏展开的过程,强调了宏定义与typedef的区别,并探讨了条件编译在程序开发中的应用。
摘要由CSDN通过智能技术生成

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------



预处理指令概述


在C语言中,多次会用到以“#”靠头的预处理命令,比如说包含命令#include,宏定义命令#define等 ,这是我们最常见的,在源程序中这些命令都是放在行数之外,他们都称为预处理部分。


宏定义


在c语言源程序中允许用一个表示服来表示一个字符串,我们称之为“宏”。被定义为“宏”的表示服称为“宏名”。在编译预处理的时候,程序会对所有出现的“宏名”都用宏定义的字符串去代换,这成为"宏展开“或者“宏代换”


无参宏定义


无参宏的宏名后面不带参数,其定义的一般形式为:   #define 标识符 字符串

其中”#“表示这是一条预处理命令,凡是以”#“开头的均为预处理命令。”define“为宏定义命令。”标识符“为所定义的的宏名(同长用大写字母表示,以便区和变量区分)”字符串“可以是常量,表达式,和格式串等。


2.使用宏定义的优点
1)可提高源程序的可维护性
2)可提高源程序的可移植性
3)减少源程序中重复书写字符串的工作量


#define PI 3.1415926          //PI是宏名,3.1415926用来替换宏名的常数


main() { 


foat radius,length,area,volume;


 printf("Input a radius: ");

cscanf("%f",&radius);


 length=2*PI*radius;                  //引用无参宏求周长
 area=PI*radius*radius;              //引用无参宏求面积

 volume=PI*radius*radius*radius*3/4;       //引用无参宏求体积

     printf("length=%.2f,area=%.2f,volume=%.2f"n", length, are
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值