#include命令 |
TAG:
预编译和宏定义,ANSI C,#include命令
TEXT:
在实际的软件开发的时候,需要多个人构成的小组共同完成代码的编写与测试,因此需要借鉴和应用其他的结果,或者要借鉴前人的成果。例如在C语言中,经常使用的标准输入输出函数均为前人的工作成果。在使用时,只需将包含函数声明的头文件stdio.h,用#include指令包含当前的程序文件即可。
#include
命令的形式如下
#include <
文件名>
或
#include
“文件名”
其作用是在系统编译之前,将包含文件中的内容拷贝到当前文件的当前位置之后,再进行编译。
例11-6 文件file_1.c和file_2.c的程序分别如下:
/*file_1.c*/
double Add(int a,int b)
{
return a*b;
}
/*file_2.c*/
#include "file_1.c"
void main()
{
double a,b;
double e,f;
a=3;
b=2;
e=Add(a,2);
f=Add(b+1,2);
printf("e=%ff=%f",e,f);
}
在编译file_2.c的时候,系统根据#include "file_1.c"指令将file_1.c的内容拷贝当前文件的当前位置,所以在file_2.c可以直接使用double Add(int a,int b)函数。
在软件开发中一般将符号常量、全局变量、函数声明包含在头文件(.h文件)中,并将其定义放在.c文件中。然后在使用的时候,包含对应的头文件即可。下面是常用数学库函数头文件“math.h”中的部分代码,其中_Cdecl为Turbo C系统的中保留字。
/* math.h
Definitions for the math floating point package.
Copyright (c) Borland International 1987,1988
All Rights Reserved.
*/
int _Cdecl abs (int x);
double _Cdecl acos (double x);
double _Cdecl asin (double x);
double _Cdecl atan (double x);
double _Cdecl atan2 (double y, double x);
double _Cdecl atof (const char *s);
double _Cdecl ceil (double x);
double _Cdecl cos (double x);
如果在程序中需要使用数学库函数,在文件中加入如下的代码即可。
#include <math.h>
或
#include
“math.h”
#include <math.h>
与#include “math.h”的区别在于遇到#include <math.h>命令时系统从缺省的头文件目录中查找文件math.h文件;遇到#include “math.h” 时系统首先从当前的目录中搜索,如果没有找到再在缺省的头文件目录中查找文件math.h文件。因此包含系统提供的库函数使用#include <math.h>方式搜索速度比较快;如果包含用户自定义的.h文件使用#include “math.h”方式,,搜索速度比较快。
提示 在使用#include指令的时候,对系统文件,使用#include <math.h>形式;对用户自定义文件,则使用#include “math.h”形式。