C语言之预处理探究(三):头文件包含

在这里插入图片描述

相关博文: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;
}

猜你喜欢

转载自blog.csdn.net/weixin_43297891/article/details/113180195