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,则这个宏定义将被忽略。

相关推荐
小羊先生car1 小时前
RTOS-F429-HAL-基础内容认识(2026/7/26)
c语言
Discipline~Hai2 小时前
ARM03-蜂鸣器和中断
c语言·arm开发·单片机·嵌入式硬件·嵌入式
冻柠檬飞冰走茶3 小时前
PTA基础编程题目集 7-7 12-24小时制(C语言实现)
c语言·开发语言·数据结构·算法
runafterhit3 小时前
python基础语法命令(C程序员刷leetcode)
c语言·python·leetcode
笨笨饿3 小时前
#102_Codex无在VSCold无法打开
java·c语言·数据库·笔记
wuyk5556 小时前
66.嵌入式C语言进阶:共用体(Union)实战指南——单片机内存省一半的神级技巧
c语言·开发语言·stm32·单片机·嵌入式硬件
2601_9516443215 小时前
C语言二级备考指南
c语言·编程基础·编译环境·二级考试·题库选择
日拱一卒——功不唐捐19 小时前
红黑树删除(C语言)
c语言·数据结构
ziguo11221 天前
C/C++ 错误处理全解:从 errno 到 C++ 异常
linux·c语言·c++·windows·visual studio
小+不通文墨1 天前
--no-multibyte-chars 解决OLED_data.c移植后中文乱码问题
c语言·经验分享·笔记·学习