C语言基础知识——预处理

提示:本文时对C语言基础知识:预处理部分的回顾总结。


预定义符号

C预处理器(preprocessor) 在源代码编译之前对其进行一些文本性质的操作。

其主要任务包括删除注释、插入被#include 指令包含的文件的内容、定义,
替换由 #define 指令定义的符号以及确定代码的部分内容是否应该根据一些条件编译指令进行编译。

*预处理器符号 :它们是由预处理器定义的符号。它们的值或者是字符串常量,或者是十进制数字常量。

_ _ FILE _ _ :进行编译的源文件名,如“name.c”
_ _ LINE _ _ :文件当前行的行号,如 23
_ _ DATE _ _ :文件被编译的日期,如 “Jan 30 2020”
_ _ TIME _ _ :文件被编译的时间,如“21:49:32”
_ _ STDC _ _ :如果编译器遵循 ANSI C,其值为1,否则为定义。


#define

#define 指令正式的描述:

#define name stuff

#define指令可以把任何文本替换到程序中。

如果定义中的 stuff 非常长,它可以分成几行,除最后一行外,每行的末尾都要加一个反斜杠。如下例:

#define DEBUG_PRINT printf( "File %s line %d:" \
						" x=%d, y=%d, z=%d", \
						__FILE__, __LINE__, \
						x, y, z ) 

#define 机制包括一个规定,允许把参数替换到文本中,这种实现通常称为 宏(macro)定义宏(defined macro) 。宏的声明方式如下:

#define name(parameter-list) stuff

其中,parameter-list(参数列表)是一个由逗号分隔的符号列表,它们可能出现在 stuff 中。参数列表的左括号必须与 name 紧邻。如果两者之间有任何空白存在,参数列表就会被解释为 stuff 的一部分。

当宏被调用时,名字后面是一个由逗号分隔的值的列表,每个值都与宏定义中的一个参数相对应,整个列表用一对括号包围。当参数出现在程序中时,与每个参数对应的实际值都将被替换到 stuff 中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值