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_
相关推荐
LDR0064 小时前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术4 小时前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园4 小时前
C++20 Modules 模块详解
java·开发语言·spring
swordbob4 小时前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享5 小时前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.5 小时前
C语言--day30
c语言·开发语言
玖玥拾5 小时前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
何以解忧,唯有..5 小时前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
謓泽5 小时前
C语言不是语法,是通往机器的地图。
c语言·开发语言
云水一下5 小时前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php