C语言 预处理命令

预处理包含:宏定义、文件包含、条件编译


预处理命令以#开头,每句最好独占一行,否则可能会出错。


宏定义命令:

#define 标识符 被标识符替换的字符串
例:
#define m 100

限制#define的作用域:
#define 的作用域是他所在的源文件。
我们可以用#undef限制#define的作用域

#define m 100
printf("%d",m);
#undef m

带参数的宏定义:
例:
#define add(x,y,z) z+y+z
如果想让#define的参数加上双引号,就在它前面加上#,而不是直接用" "
例如:

#define go(x) system(x)

我想在执行go的时候直接 go(calc) 就等同于 system(“calc”)
那就必须

#define go(x) system(#x) 

记号粘合 ## :
记号粘合用于将define的两个或多个参数组合起来,可以理解成strcat。
例如:
#define p(x,y,z) printf("%d",“x##y##z”);
如果我执行p(9,8,7) 则相当于 printf("%d",“987”);


文件包含:

文件包含要用到 #include 实现,有两种形式。
#include “文件名” 表示 在源文件目录查找,然后查找系统目录
#include <文件名> 表示 在系统目录查找


条件编译:

#if (条件)
	语句
#elif (条件)
	语句
#else 
	语句
#endif	

C语言常用预定义宏:
__DATE__ 丐前源文件的编泽口期,用 “Mmm dd yyy”形式的字符串常量表示
__FILE__ 当前源文件的名称,用字符串常量表示
__LINE__ 当前源义件中的行号,用十进制整数常量表示,它可以随#line指令改变
__TIME__ 当前源文件的最新编译吋间,用“hh:mm:ss”形式的宁符串常量表示
__FUNCTION__ 当前所在文件名

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值