🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
#### 包含文件指令 #### 包含文件指令#include,可用来包含一个文件 #include <math.h> 尖括号中是所包含的文件,math.h是数学函数库的头文件,将该文件包含进来后,就可以使用一些数学函数了 #include <stdio.h> #include <math.h> int main() { double x=pow(2,3); printf("2的3次方是%.0f\n",x); return 0; } #### 包文件的方式 #### - 一般来说,有2种方式 - #include <stdio.h> 尖括号将文件名stdio.h括起来,将通知预处理器在编译器自带的头文件中搜索文件名stido.h - #include "stdio.h" 双引号将文件名stdio.h括起来,将通知预处理器在当前程序的文件夹下搜索该文件,如果搜索不到,再去编译器自带的头文件中进行搜索 #### 头文件 #### **#include指令可包含任何文件,但通常包含的是头文件,头文件是以.h为后缀的一般是函数原型和宏的定义,有时也可以放置结构体类型的声明和静态全局变量的定义** 以下为book.h中的内容,代码如下: #include <string.h> #include <stdio.h> #define P printf #define PA printf("\n%-12s%-12s\n\n","ÊéÃû","¼Û¸ñ") #define PB "%-12s%-12.2f\n" static int n; struct Book { char name[10]; double price; }; void Set(struct Book my[],int n); void Show(struct Book my[]); **book.h这个头文件中有宏的定义(第3-5行)、函数原型(第12-13行)、结构体类型的声明(第7-11行)、静态全局变量的定义(第6行),以及其他头文件的包含(第1-2行)** **注意:头文件中不可以定义全局变量和函数,但是可以定义静态全局变量。头文件只能声明全局变量,不可以定义它,一般在头文件中用extern来声明全局变量,而在源文件中定义它。如果在头文件中定义全局变量,则这个头文件被多个源文件引用的话,会造成全局变量被重复定义的链接错误,但是如果定义的是静态全局变量,则不会出现这个问题** 头文件是一种包含了函数声明和数据类型声明的载体文件,主要用于保存程序的声明,而定义文件则用于保存程序的实现,定义文件以.c为后缀,book.h所对应的定义文件book.c中内容如以下代码所示: #include "book.h" void Set(struct Book my[],int num) { int i; char ch; for (i=0;i<num;i++) { printf("请输入书名:"); scanf("%s",&my[i].name); printf("请输入价格:"); scanf("%lf",&my[i].price); getchar(); n++; printf("是否继续输入?(Y/N):"); scanf("%c",&ch); getchar(); if (ch=='n'||ch=='N') break; } } void Show(struct Book my[]) { int i; PA; for (i=0;i<n;i++) { P(PB,my[i].name,my[i].price); } }