C语言程序的#include文件包含命令,引入对应的头文件(.h)文件,#include也是C语言预处理命令的一种。
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.h
和stdlib.h
都是标准头文件,存储在系统路径下,使用尖括号和双引号都能够成功引入。
如果我们开发人员要定义一些公共函数,我们自己编写的公共函数放入自己的头文件,把自己编写的头文件存放于当前项目的路径下,当使用时候,不能使用尖括号引入,只能使用双引号,这就是< >
和" "
的区别。
上面提到的系统路径和当前路径,当前项目所在目录就是当前项目路径可以转换成系统路径,只需要把当前路径添加到系统路径,那么自定义的头文件也可以使用尖括号引入,如果你这么做了那就是自寻麻烦。
那么今后编写程序的时候,既可以使用尖括号来引入标准头文件,也可以使用双引号来引入标准头文件;推荐使用尖括号来引入标准头文件,双引号来引入自己编写的头文件。
#include
使用的注意:
一个#include
包含命令只能包含一个头文件,如果有多个头文件需要,那么请使用多个#include
命令分别包含。
相同的一个头文件,可以被多次被引入,其效果相同,头文件的引入在系统代码层已经有防止重复处理。
文件之间的包含是允许嵌套的,一个被包含文件,这个文件又可以包含另一个文件。
#include 使用举例
已经会使用#include
引入标准头文件,但如何使用#include
引入自定义的头文件,如:
下面案例中创建三文件,分别是 main.c、my.c 和 my.h,如图所示:
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()函数。为什么?
转载注明:
感谢博主,喝杯咖啡~
感谢博主,喝杯咖啡~
还没有人发表评论