C语言多文件编程:函数声明其实很简单

📅 2026/7/9 8:39:19
C语言多文件编程:函数声明其实很简单
告别“找不到函数”的烦恼5分钟搞懂头文件为什么要拆成多个文件写一个贪吃蛇游戏如果把所有代码塞进一个 main.c那将是几千行的“屎山”。多文件编程的好处分工合作你写输入我写逻辑代码复用写一次到处用编译更快只改一个文件只编译一个核心三板斧1.函数声明放在 .h 头文件// utils.h #ifndef UTILS_H #define UTILS_H int add(int a, int b); // 声明 void print_hello(); #endif2.函数定义放在.c源文件// utils.c #include utils.h #include stdio.h int add(int a, int b) { return a b; } void print_hello() { printf(Hello\n); }3.主文件包含头文件// main.c #include utils.h int main() { int sum add(3, 5); print_hello(); return 0; }编译命令gccgcc -o program main.c utils.c或者先编译成目标文件再链接gcc -c main.c gcc -c utils.c gcc -o program main.o utils.o重要细节防止重复包含头文件开头一定要写 #ifndef / #define / #endif否则多个文件包含同一个头文件会报“重复定义”错误。#ifndef UTILS_H // 如果没有定义 UTILS_H #define UTILS_H // 就定义它 // ... 声明内容 ... #endif这是标准写法直接复制模板就行。常见错误错误现象原因undefined reference忘记在.c里实现函数或编译时没加该.c文件multiple definition在头文件里写了函数定义不是声明或者忘记加包含守卫一句话总结.h 放声明给别人看.c 放定义自己实现#include 拿来用#ifndef 防重复。就这么简单快去拆分你的代码吧如果你觉得有帮助欢迎点赞、收藏、评论让更多人看到