c语言之预处理指令

c语言的预处理指令 有 宏定义 ,文件包含 ,条件编译

宏定义分为两类

 1 不带参数的宏定义

2 带参数的宏定义

宏定义的格式

  一般形式 #define 宏名 字符串

作用:在编译预处理的时候,将宏名替换成右边的字符串

注意:宏名一般大写字母

宏名在编译预处理的时候不做编译检查,只做宏名字符串的简单替换,只有在编译的时候才会对宏名展开的字符串做编译检查

宏的作用域是从定义位置到文件结束,如果想要终止宏的作用域,可以使用 #undef宏指令

带参数的宏在展开的时候,只做简单的字符和参数替换,不做任何计算操作,所以一般用小括号包住字符串

宏和函数的区别

1 宏不涉及存储空间的分配,参数类型匹配,参数传递,返回值问题

函数在在程序运行时执行,宏在编译阶段执行,所以带参数的宏比函数更有执行效率

条件编译 只有满足某一条件才进行编译

格式 #if #elseif  #else #endif 这种格式进行条件编译判断

#include <> 中文件包含的引入形式,c语言库函数所在的目录下寻找文件

#include “” 现在当前源程序的目录下面查找,若找不到,再到操作系统的路径中查找,最后才到c语言库函数所在的头文件中查找

c语言指令允许嵌套包含,但是不需要递归包含  a.h包含b.h b.h包含c.h 但是a.h包含b.h b.h包含a.h这种是错误的

#include可能多次包含同一个文件,降低编译效率,为了防止多次包含同一个文件 在头文件中引入#ifndef __one__h__ #define __one__h_

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值