相关博文:C语言之预处理探究(四):#、##和预定义宏
相关博文:C语言之预处理探究(二):条件编译(Condition Compile)
相关博文:C语言之预处理探究(一):宏
一. 包含的意义
全写入被包含的文件中。(包含是支持嵌套的!)
二. 包含的方式
2.1 < >方式
#include<stdio.h>,从系统指定路径中搜索包含头文件,linux中的系统路径为(/usr/include)。
2.2 “ ”方式
#include"myString.h",从工程当前路径中搜索包含头文件,如果当前工程路径下没有的话,则到系统路径下搜索包含。
三. 多文件编程意义
多文件编程可以至少有两大好处,一是方便管理,协同开发。二是便于分享与加密(做成函数库)。
四. 多文件编程的前提
C语言是以文件为单位进行编译的,编译期只需要函数声明即可。链接阶段提供实现就可以完成生成可执行文件。
五. 定义头文件
.c文件中存在相互调用的关系,自包含可以免去了多余的前向声明。
六. 避免头文件重复包含
例:
附上例代码:
stu.h
#ifndef STU_H
#define STU_H
struct Stu
{
char name[30];
float score;
};
void display(struct Stu s);
#endif //STU_H
sort.h
#ifndef SORT_H
#define SORT_H
#include"stu.h"
void sort(struct Stu* s);
#end //SORT_H
main.c
#include<stdio.h>
#include"stu.h"
#include"sort.h"
int main()
{
struct Stu s[5];
display(s[0]);
sort(s);
return 0;
}