C語言 多文件編程
分文件編程
- 把函數聲明放在頭文件xxx.h中,在主函數中包含相應頭文件
- 在頭文件對應的xxx.c中實現xxx.h聲明的函數
防止頭文件重復包含
1、當一個項目比較大時,往往都是分文件,這時候有可能不小心把同一個頭文件 include 多次,或者頭文件嵌套包含。
a.h 中包含 b.h :
#include "b.h"
b.h 中包含 a.h:
#include "a.h"
main.c 中使用其中頭文件:
#include "a.h" int main() { return 0; }
2、為了避免同一個文件被include多次,C/C++中有兩種方式,一種是 #ifndef 方式,一種是 #pragma once 方式。
方法一:
#ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ // 聲明語句 #endif
方法二:
#pragma once
案例
文件1:01main.c
#include <stdio.h> #include "02fun.h" int main(void) { int a = 10; int b = 20; printf("%d\n",max(a, b)); }
文件2:02fun.c
// 函數定義 int max(int a, int b) { return a > b ? a : b; }
文件3:02fun.h
// 防止頭文件重復包含 // 方法一 // 只能用於 windos #pragma once // 方法二 Linux、Windos // #ifndef __02_FUN_H__ // #define __02_FUN_H__ // 全局變量的定義 // 函數的聲明 extern int max(int a, int b);