c语言程序的#include文件包含命令

C&C++ / 1363人浏览 / 0人评论

C语言程序的#include文件包含命令,引入对应的头文件(.h)文件,#include也是C语言预处理命令的一种。

C语言程序的#include文件包含命令

C语言程序的#include文件包含命令,使用#include来引入对应的标准头文件(.h)文件,#include也是C语言预处理命令的一种。

C语言为什么要使用#include文件包含命令?

使用#include文件包含命名就是把要包含的文件包含到当前源文件中,形成一个源文件。

为啥使用#include文件包含C语言的标准头文件?

因为标准头文件中包含预先定义好的一些通用通用的功能函数,使用这些通用的功能函数可以快速的编写程序,且不需要重复定义、每个书写程序的工作人员都能使用。

#include 的用法有两种,如下所示:

#include <stdio.h> /*包含头文件*/
#include "stdlib.h" /*包含头文件*/

包含头文件可以使用尖括号< >,还可以使用双引号" ",其区别程序运行的时候头文件的检索路径方式不一样。

如果使用尖括号< >,C语言的编译器会到当前运行环境的系统路径下查找头文件;

如果使用双引号" ",C语言的编译器首先会在当前项目的目录下查找头文件,要是没有找到,会再到系统的头文件存储路径下查找;

所以尖括号和双引号的区别就是:双引号比使用尖括号多了一次的头文件路径查找,功能更强大。

头文件的引入,既可以使用尖括号来引入头文件,也可以使用双引号,如:

#include "stdio.h"
#include "stdlib.h"

stdio.hstdlib.h都是标准头文件,存储在系统路径下,使用尖括号和双引号都能够成功引入。

如果我们开发人员要定义一些公共函数,我们自己编写的公共函数放入自己的头文件,把自己编写的头文件存放于当前项目的路径下,当使用时候,不能使用尖括号引入,只能使用双引号,这就是< >" "的区别。

上面提到的系统路径和当前路径,当前项目所在目录就是当前项目路径可以转换成系统路径,只需要把当前路径添加到系统路径,那么自定义的头文件也可以使用尖括号引入,如果你这么做了那就是自寻麻烦。

那么今后编写程序的时候,既可以使用尖括号来引入标准头文件,也可以使用双引号来引入标准头文件;推荐使用尖括号来引入标准头文件,双引号来引入自己编写的头文件。

#include使用的注意:

一个#include包含命令只能包含一个头文件,如果有多个头文件需要,那么请使用多个#include命令分别包含。
相同的一个头文件,可以被多次被引入,其效果相同,头文件的引入在系统代码层已经有防止重复处理。

文件之间的包含是允许嵌套的,一个被包含文件,这个文件又可以包含另一个文件。

#include 使用举例

已经会使用#include引入标准头文件,但如何使用#include引入自定义的头文件,如:

下面案例中创建三文件,分别是 main.c、my.c 和 my.h,如图所示:

main.c

my.c 代码:

// 循环打印
int show(int a)
{
    for(int i = 0; i <= a; i++){
        printf("%d \n", i);
    }
    return 0;
}

my.h 代码:

//声明函数
int show(int a);

main.c 代码:

#include <stdio.h> /*包含头文件*/
#include "stdlib.h" /*包含头文件*/
#include "my.h" /*包含头文件*/

int sum(int one, int two);

int main()
{
    show(5);

    int num_one; /*定义整形变量num_one,表示被加数*/
    int num_two; /*定义整形变量num_two,表示加数*/
    int Sum; /*两个数的和*/

    printf("请输入被加数:");
    scanf("%d", &num_one); /*输入被加数*/

    printf("请输入加数:");
    scanf("%d", &num_two); /*输入加数*/

    Sum = sum(num_one,num_two); /*调用函数计算两个数的和*/

    printf("num_one + num_two = %d", Sum); /*显示结果*/

    return 0;
}

int sum(int one, int two){
    int Sum = one + two;
    return Sum;
}

my.c中定义了show()函数,在my.h中声明了show()函数,函数是在my.c中定义的,main.c中包含的头文件是my.h,且能使用show()函数。为什么?

转载注明:

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我