目录
- 开头
- 1.什么是
#ifdef
和#ifndef
? - 2.
#ifdef
和#ifndef
的实际应用 - 判断ABCD这个宏是否被定义过
- 判断HELLO这个宏是否没被定义过
- 防止头文件重复定义
- 下一篇博客要说的东西
开头
大家好,我叫这是我58。今天,我们要学一下关于C语言中的预处理指令中的其中一对——#ifdef
和#ifndef
的一些知识。
1.什么是#ifdef
和#ifndef
?
#ifdef
预处理指令,就是用来检测被检测的宏是否被定义过,等于#if defined(被检测的宏名)
,而#ifndef
预处理指令,则是用来检测被检测的宏是否没有被定义过,等于#if !defined(被检测的宏名)
,非常简单,但要注意的是,每个#ifdef
或者#ifndef
预处理指令都需要以#endif
来充当这些预处理指令的结尾才可以,否则就会出错。这就是C语言中的预处理指令中的其中一对——#ifdef
和#ifndef
,在看到这里之后,接下来就要看一下#ifdef
和#ifndef
的实际应用了。
2.#ifdef
和#ifndef
的实际应用
判断ABCD这个宏是否被定义过
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main() {
#ifdef ABCD
printf("ABCD");
#endif
return 0;
}
判断HELLO这个宏是否没被定义过
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#define HELLO
int main() {
#ifndef HELLO
printf("ABCD");
#endif
return 0;
}
防止头文件重复定义
#ifndef ONCE
#define ONCE
#endif
下一篇博客要说的东西
C++中的一个标准输出流——
cout