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

相关推荐
Root_Hacker11 小时前
include文件包含个人笔记及c底层调试
android·linux·服务器·c语言·笔记·安全·php
杨间12 小时前
《排序算法全解析:从基础到优化,一文吃透八大排序!》
c语言·数据结构·排序算法
你怎么知道我是队长13 小时前
C语言---未定义行为
java·c语言·开发语言
范纹杉想快点毕业15 小时前
C语言实现埃拉托斯特尼筛法
c语言·开发语言
sycmancia17 小时前
C语言学习06——函数的定义
c语言
定偶17 小时前
Linux进程管理和进程间通信机制
c语言·进程·共享内存·管道·信号量·消息列队
tianyuanwo17 小时前
深入浅出SWIG:从C/C++到Python的无缝桥梁
c语言·c++·python·swig
小美单片机19 小时前
External model DLL ”ADC083XDLL“ not found_proteus仿真报错解决方法
c语言·单片机·51单片机·proteus·课程设计·课设
程芯带你刷C语言简单算法题19 小时前
Day48~对于高度为 n 的台阶,从下往上走,每一步的阶数为 1,2,3 中的一个。问要走到顶部一共有多少种走法
c语言·开发语言·学习·算法·c