⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

C 头文件防护机制

理解头文件重复包含的问题,学习使用 #ifndef 等预处理指令防止多重定义错误。 · 难度:入门 · +15XP

头文件防护的必要性

在C语言中,头文件可能被多个源文件甚至同一个源文件多次包含。如果没有防护,会导致类型、函数或变量的重复定义,编译失败。头文件防护(Include Guard)是一种预处理技术,确保头文件内容只被编译一次。

两种常见写法

// 方法一:使用 #ifndef
#ifndef MYHEADER_H
#define MYHEADER_H

// 头文件内容 void func(void);

#endif

// 方法二:使用 #pragma once(非标准但广泛支持)
#pragma once

void func(void);

表格:对比

方式优点缺点
#ifndef标准C,可移植宏名需唯一,易冲突
#pragma once简洁,编译快非所有编译器支持

练习提示

尝试在 starter_code 中两次包含同一个头文件(去掉防护),观察编译错误。然后加上防护,再次编译验证通过。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 105 篇
0 完成
🔥 0