python预处理c语言_C语言之预处理指令

/*

预处理指令 :

宏定义 : 就是将代码中的宏名进行简单的替代,不进行任何运算;

不带参数的宏定义 :

基本格式 :

#idefine 宏名 宏值    //程序预处理时,会将代码中,所有的宏名都替代为宏值;

宏名书写规范 : 全部大写,单词之间以"_"分隔;

注 : 切记红定义中,不要以";"结尾,原因在宏定义中默认宏名之后所有的内容均为宏值,因此,一旦以";"结尾,也会将其当做宏值处理;

带参数的宏定义 :

基本格式 :

#define 宏名(形参) 宏值    //预处理时,会将接受的实参替代宏值中的形参,而后再将代码中所有的宏名以宏值替代;

形参 : 此处无需写形参的数据类型,因此没有任何意义;

应用 : 此时的宏值多为一行简单代码,而某一单一值;

注 : 如果在代码中,宏名被包裹在""中,则预处理时,宏名不会被宏值替代;

宏的作用域 : 自定义位置起至文件末尾;

提前结束宏的作用域 : #undef 宏名;

宏定义的应用场景 : 常用于记录一些频繁使用且繁琐的数据;

条件编译 : 当条件满足时,就将对应的代码块保留在程序中执行;

基本格式 :

#if condition

代码块;

#elif condition

代码块;

#else

代码块;

#endif    //当某一个条件满足时,只保留该条件对应的代码块,其他至endif之间的代码块全部删除;

其他写法 :

第一种 :

#ifdef 宏名

代码块;

#else

代码块;

#endif

第二种 :

#ifndef 宏名

代码块;

#else

代码块;

#endif

条件编译的优点 :

1,节省内存,因为不满足条件的代码块均会被删除;

2,常用于调试过程,如当我们为qq写一个用户分组时,需要频繁登陆qq,以查看效果.因此,在调试过程中,我们就可以把自己的用户名,密码写入条件编译中的宏定义中,\

以节省我们频繁登陆输入用户名,密码浪费的时间,而在上传应用后,只需修改一下条件,即跳转用户登陆;

文件包含 : 也即将其他文件复制替代本文件中文件包含那一行代码;

#include <>    //会先在编译环境下查找,找不到,再到系统环境下查找指定文件;

#include ""    //会现在当前文件目录下查找指定文件,找不到,再编译环境下查找,找不到,再到系统环境下查找指定文件;

注 : 重复导入头文件,会降低程序执行效率,因此可利用条件编译,写一个头文件卫士,一旦已经导入了该头文件,就不在重复导入;

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值