📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处
文章目录
- 源文件的概念
- 头文件的概念
- 头文件的作用
- <>和""之间的区别
- 程序编写规范
源文件的概念
C语言中源文件的概念:
源文件即源代码所在文件。C语言的源文件的后缀名是.c,因此只要以.c为后缀名的文件都是C语言的源文件。
头文件的概念
什么是头文件?
使用#include引入的文件,以.h为后缀名的文件。
一般地,在C语言或C++中,会把用来#include的文件的扩展名叫.h,称其为头文件。#include文件的目的就是把多个编译单元(也就是c或者cpp文件)公用的内容,单独放在一个文件里减少整体代码尺寸;或者提供跨工程公共代码。
在现行的c版本中,应用这个头文件应是#include<stdio.h>。
头文件的作用
1、声明函数和变量
头文件主要用于提供函数和变量的声明,以供其他源代码文件引用和使用。头文件中可以包含函数和变量的声明、结构体的定义、宏定义以及其他需要在不同源文件之间共享的元素。其他源代码文件可以通过包含(include)头文件来访问其中声明的函数和变量,从而可以在自己的代码中使用这些函数和变量,而无需重新编写它们的定义。
2、实现模块化
头文件的目的是为了实现模块化、代码重用和减少重复编写的目标,通过将常用的函数和变量的声明放在头文件中,可以方便地在多个源文件中引用和共享。同时,头文件也可以提供接口的声明,方便其他开发人员了解和使用代码库或模块。
3、避免多重复定义
头文件中通常只包含声明而不包含实现(具体的代码逻辑),实现应该放在对应的源代码文件中。这样可以避免在多个源文件中重复定义同一个函数或变量,从而引发多重定义的错误。
<>和""之间的区别
两者之间是没有多大差别的,只是为了提高查找效率而区分的。
<>:意为标准头文件:
使用<>这种方式,编译器会在编译器安装目录的标准库中开始查找该头文件。
这种方式适用于包含标准库或系统级别的头文件。
例如:
C语言中标准的输入输出头文件是 <stdio.h>。
C++语言中标准的输入输出头文件是< iostream >。
“”:意为自定义头文件:
""这种方式,会在当前的工程所在的文件夹,也就是源文件所在的文件夹中开始寻找。
总之,使用 <> 包裹的文件名会首先在默认的系统库路径下查找,而使用 “” 包裹的文件名会首先在当前源文件目录中查找。
程序编写规范
除了程序的入口函数,通常每一个 .c 文件应该有一个相应的同名 .h 文件
1、在 C 语言中,通常情况下每一个 .c 文件会对应一个同名的 .h 文件。这是为了实现模块化和代码组织的目的。头文件(.h 文件)中会包含该模块或代码文件中的函数和变量的声明,供其他源代码文件引用和使用。
同时,与 .h 文件对应的 .c 文件中则包含这些函数和变量的具体实现(定义)。这种分离将函数的声明(接口)和定义(实现)分离开来,可以提高代码的可读性、可维护性和可重用性。
2、然而,并不是每一个 .c 文件都需要一个同名的 .h 文件,这取决于具体的项目和代码组织的方式。有些 .c 文件可能只是包含一些主函数(入口函数),而不涉及额外的函数和变量。这种情况下可能不需要为该 .c 文件编写一个相应的 .h 文件。
3、所以,可以看出这句话并不是绝对的规则,而是一个常见的约定和最佳实践。根据具体的项目需求和代码组织方式,可能会有特殊情况。