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_
相关推荐
网域小星球7 分钟前
C 语言从 0 入门(十七)|结构体指针 + 动态内存 + 文件综合实战
c语言·开发语言·文件操作·结构体指针·动态内存·综合项目
aq553560014 分钟前
三大编程语言深度对比:C# vs 易语言 vs 汇编
开发语言·汇编·c#
独特的螺狮粉17 分钟前
云隙一言:鸿蒙Flutter框架 实现的随机名言应用
开发语言·flutter·华为·架构·开源·harmonyos
光泽雨20 分钟前
c# 文件编译的过程
开发语言·c#
赤水无泪36 分钟前
09 C++ 11 新增的标准
开发语言
格林威1 小时前
工业相机 SDK 在 Docker 容器中的部署与权限配置(含 USB/GigE)
开发语言·人工智能·数码相机·计算机视觉·docker·容器·工业相机
哎嗨人生公众号1 小时前
手写求导公式,让轨迹优化性能飞升,150ms变成9ms
开发语言·c++·算法·机器人·自动驾驶
code_whiter1 小时前
C++6(模板)
开发语言·c++
lcj25111 小时前
【C语言】数据在内存中的存储
c语言·数据结构
一只旭宝1 小时前
【C++ 入门精讲1】初始化、const、引用、内联函数 | 超详细手写笔记(附完整代码)
开发语言·c++