C和指针——预处理

预处理是编译前的过程,主要对define,include以及一些编译器定义的内容进行替换

#define的本质就是替换

c 复制代码
1、例子
#define FOREVER for(;;)
2、例子
#define TEMPD "1231231231\
123123123" \\如果太长了,可以用\换行
3、例子------可参数替换
#define TIMES(x) x*x
4、ifdef 和 ifndef可以判定一个宏是否被定义,例如
#define Debug 1
#ifdef Debug
		#define TEST 0
		#define DEV 0
#elif defined(TEST)
		#define Debug 0
		#define DEV 0
#else
		#define NON 1
#endif

约定,一般宏定义都用大写

为了删除一个宏定义,可以用

c 复制代码
#undef

防止在同一个源文件中,同一个头文件被多次include

c 复制代码
//a.h
#ifndef A_H
#define A_H
xxxxxxx
#endif

#预处理器定义的常见符号

c 复制代码
_FILE_
_LINE_
_DATE_
_TIME_
相关推荐
看到我,请让我去学习12 分钟前
OpenCV编程- (图像基础处理:噪声、滤波、直方图与边缘检测)
c语言·c++·人工智能·opencv·计算机视觉
GuokLiu18 分钟前
250708-通过两块硬盘拷贝DeepSeek两个满血版模型的bash脚本
开发语言·chrome·bash
倔强的小石头_2 小时前
【C语言指南】函数指针深度解析
java·c语言·算法
iCxhust7 小时前
c# U盘映像生成工具
开发语言·单片机·c#
yangzhi_emo7 小时前
ES6笔记2
开发语言·前端·javascript
emplace_back8 小时前
C# 集合表达式和展开运算符 (..) 详解
开发语言·windows·c#
jz_ddk8 小时前
[学习] C语言数学库函数背后的故事:`double erf(double x)`
c语言·开发语言·学习
萧曵 丶9 小时前
Rust 所有权系统:深入浅出指南
开发语言·后端·rust
xiaolang_8616_wjl9 小时前
c++文字游戏_闯关打怪2.0(开源)
开发语言·c++·开源