頭文件(.h)是C語言實現模組化、資訊隱藏、程式碼復用的核心機制。
// mymath.h
#ifndef MYMATH_H
#define MYMATH_H
// 函數聲明(介面)
double mean(double *data, int n);
int max(int a, int b);
void swap(int *a, int *b);
// 常數定義
#define PI 3.141592653589793
// 型別定義
typedef struct { double x, y; } Point;
#endif
// mymath.c
#include "mymath.h"
double mean(double *data, int n) {
double sum = 0;
for (int i = 0; i < n; i++) sum += data[i];
return sum / n;
}
int max(int a, int b) { return a > b ? a : b; }
void swap(int *a, int *b) { int t = *a; *a = *b; *b = t; }
// main.c
#include
#include "mymath.h"
int main() {
double arr[] = {1,2,3,4,5};
printf("平均值: %.2f\n", mean(arr, 5));
printf("最大值: %d\n", max(10, 20));
return 0;
}
gcc main.c mymath.c -o program
// 或分步:
gcc -c mymath.c -o mymath.o
gcc -c main.c -o main.o
gcc main.o mymath.o -o program
#ifndef/#define/#endif 或 #pragma onceextern)PROJECT_MODULE_H< > 和 "":系統頭文件用尖括號,專案頭文件用雙引號