C语言中#ifndef的头文件保护用法和宏定义用法

文章目录

c 复制代码
#ifndef MY_HEADER_H
#define MY_HEADER_H

// 这里放置头文件的内容

#endif // MY_HEADER_H
c 复制代码
#ifndef _error
	#define _error		(-1)
#endif

这两个代码块分别用于不同的目的。

头文件保护

c 复制代码
#ifndef MY_HEADER_H
#define MY_HEADER_H

// 这里放置头文件的内容

#endif // MY_HEADER_H

这是头文件保护的典型用法。这种结构用于防止头文件被多次包含。当第一次包含头文件时,MY_HEADER_H 未被定义,因此 #define MY_HEADER_H 会定义它,并且在 #endif 处结束。之后再次包含头文件时,由于 MY_HEADER_H 已经被定义,#ifndef MY_HEADER_H 之后的内容将被跳过,防止重复定义。

宏定义

c 复制代码
#ifndef _error
    #define _error (-1)
#endif

这段代码是为一个错误码定义了一个宏。如果在之前的代码中没有定义 _error,则 #define _error (-1) 会定义 _error 宏,并赋值为 -1。如果在之前的代码中已经定义了 _error,则这个宏定义将被忽略。

相关推荐
W_a_i_T几秒前
【Coding日记】菜鸟编程C语言100例——第三题⚠️
c语言·开发语言·经验分享·算法·菜鸟编程
Hello World . .3 分钟前
C语言printf: VT100 终端控制码
c语言·开发语言·jvm
你怎么知道我是队长7 分钟前
C语言---排序算法2---选择排序法
c语言·算法·排序算法
你怎么知道我是队长15 分钟前
C语言---排序算法3---插入排序法
c语言·算法·排序算法
m0_748248651 小时前
C/C++ 项目与 Rust 项目区别
c语言·c++·rust
月如琉璃1 小时前
内存泄漏检测实战——Valgrind
c语言·内存泄漏·用户态内存泄漏
养军博客1 小时前
C语言五天算法速成(可用于备考蓝桥杯)
c语言·算法·蓝桥杯
无限进步_2 小时前
203. 移除链表元素 - 题解与详细分析
c语言·开发语言·数据结构·git·链表·github·visual studio
10岁的博客2 小时前
C语言造轮子大赛
java·c语言·数据结构
你怎么知道我是队长2 小时前
C语言---排序算法1---冒泡排序法
c语言·算法·排序算法