c语言怎么创建头文件_c语言的三种基本结构

c语言怎么创建头文件_c语言的三种基本结构一、头文件1.头文件的作用2.头文件的命名3.头文件的结构4.extern声明5.头文件被重复包含的问题二、定义文件(源文件)1.源文件的结构2.源文件的双重保护3.static为源文件提供安

一、头文件

1. 头文件的作用

1. 不用在各个源文件中做重复的声明

2. 组织项目结构的时候,减少大型项目的维护成本(修改了定义,只需修改头文件中对应的声明)

3. 通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功能,而不必关心接口怎么实现的。编译器会从库中提取相应的代码。(下文有编译和使用二进制库的详细过程)

4. 头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担。

2. 头文件的命名

头文件最好与对应的源文件同名(main.c不需要),源文件中存放定义,而头文件中存放声明

3. 头文件的结构

1. #pragma once或ifndef/define/endif 结构(为防止头文件被重复引用)

2. 标准库的头文件 (#include <…>)

3. 非标准库的头文件 (#include “…”)

4. #define宏定义

5. typedef自定义类型

6. 构造类型的声明(如结构体,枚举等)

7. 全局变量的声明(必须加extern)

8. 函数的声明(建议加extern)

注意:头文件中只能写全局变量的声明,不能定义全局变量,否则在链接时会造成重定义错误。(除非定义成static全局变量,仅在当前文件可见)

4. extern声明

1. 全局变量的声明必须带上extern。因为头文件中只能包含声明,不带extern无法确定到底是声明还是定义

2. 函数的声明建议带上extern。建议函数怎么定义就怎么声明(包括参数类型和参数名)便于理解代码。

3. 为什么全局数据的链接属性默认是外部的?因为多个文件之间后续一定要进行数据交互。

5. 头文件被重复包含的问题

1. 头文件被重复包含是下面这样的现象:

A文件里包含了C文件,

B文件里也包含了C文件,

然后A文件又把B文件包含了进来。

这样,相当于A文件包含了两次C文件,这就是文件包含处理时文件被重复包含的问题。

文件包含时重复包含问题有时候会带来一些问题,典型的就是重定义问题,会导致编译通不过。或者编译通过,但是会造成编译效率降低。

2. 如何防止头文件被重复多次的包含?

方法一:

c语言怎么创建头文件_c语言的三种基本结构

方法二:

c语言怎么创建头文件_c语言的三种基本结构

二、定义文件(源文件)

1. 源文件的结构

1. 对一些头文件的引用

2. 全局变量的定义

3. 函数的定义

2. 源文件的双重保护

1. static封装具体的业务流程(实现了对源文件业务流程细节的保护)

2. 将源文件编译成静态库文件(隐藏源代码的内容,通过头文件来调用库功能)

3. static为源文件提供安全保证:

将源文件中实现具体细节的函数和全局变量用static修饰,封装在源文件内。

只将有外部需求的功能性函数暴露在头文件中。这样就实现了对源文件业务流程细节的保护

4. 如何将源文件编译成静态库文件?(环境VS2013):

开发者:

1. 编写源文件和头文件(文件公开时应在头文件中介绍函数的使用方法。)

c语言怎么创建头文件_c语言的三种基本结构

 c语言怎么创建头文件_c语言的三种基本结构

2. 将项目(项目包括源文件和头文件)属性中的配置类型改为静态库

c语言怎么创建头文件_c语言的三种基本结构

c语言怎么创建头文件_c语言的三种基本结构

3. 重新编译程序

4. 在项目文件夹中的Debug文件夹下会产生静态库文件(.lib),该文件为二进制文件无法阅读

c语言怎么创建头文件_c语言的三种基本结构

 c语言怎么创建头文件_c语言的三种基本结构

用户:

1. 将静态库文件和对应的头文件,放到项目文件夹下。

c语言怎么创建头文件_c语言的三种基本结构

2. 将头文件导入项目文件,使用#include “***.h”预处理指令引用头文件

3. 使用#pragma comment(lib,”***.lib”)预处理指令导入静态库。

4.调用在头文件中声明的函数

c语言怎么创建头文件_c语言的三种基本结构

 5. 运行程序

c语言怎么创建头文件_c语言的三种基本结构

 三、分享交流

        欢迎在评论区交流!如果文章有错误还请大家指出!

c语言怎么创建头文件_c语言的三种基本结构

【C语言初阶】文件结构(头文件结构,头文件作用,头文件被重复包含的问题)

今天的文章c语言怎么创建头文件_c语言的三种基本结构分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/82040.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注