如何编写C语言的.h头文件呀?并调用其中的函数 。先新建一个MyHead.h
内容通常自定义文件格式c语言创建h函数:
#ifndef _MYHEAD_H_
#define _MYHEAD_H_
(这里是头文件的内容)
#endif /* _MYHEAD_H_ */
然后在c语言创建h函数你的.c中#include“MyHead.h”就可以了
记得放在一个工程目录下
C语言如何制作自己的 h 文件一个.h文件要
对应有一个.c文件,这样写助于查看和修改程序 。比如a.h
和
a.c;:
在.h文件中
#ifndef
__A_H_
#define
__A_H_
#include
void
trans2(double
B)
c语言创建h函数;
double
trans1()
;
#endif
在.c文件中
#include
"a.h"
把相应c语言创建h函数的函数定义写在.c文件中
再在main.c文件中
#include
"a.h"
#include
main()
{
double
trans1()
//由度分秒到弧度
{
double
B1,B11,B12,B13,B111;
scanf("%lf°%lf′%lf″",B11,B12,B13);
B111=fabs(B11);
//B11可能为负值
B1=B111+B12/60.0+B13/3600.0;
B1=B1*atan(1)/45.0;
if(B110)
B1=-B1;
return
B1;
}
void
trans2(double
B)
//由弧度到度分秒并输出角度值
{
int
a,b;
double
B0;
B0=fabs(B);
//B可能为负值
double
c;
B0=B0*45.0/atan(1);
a=int(B0);
b=int((B0-a)*60);
c=(B0-a)*3600-b*60;
if((int)(c)==60)
//为c语言创建h函数了避免出现59′60″这种情况,不过好像不起作用,不知道为什么,原来是int没有加括号
{
b=b+1;
c=0.0;
}
if(b==60)
{
b=0;
a=a+1;
}
if(B0)
a=-a;
printf("%d°%d′%.4f″\n",a,b,c);
}
}
就可以在main.c函数中调用a.c中的函数了
如何在c语言中定义函数在.h文件 , 和在新文件中使用额,书上都有吧 。
一般来说,头文件(.h)都包含了一些常用的而且已经通过了测试证明其运行正确的函数,
在自己的程序中用#include引用这些头文件 , 直接使用其中一些已经写好的函数,就省去
了很多麻烦,提高了代码的重用性 。例如我们常常在程序中写下 #include stdio.h 语
句,以使用头文件 stdio.h 中的函数,比如说printf函数 。可是该如何写自己的头文件 ,
以让自己的函数能被再次使用呢?
也许有同学会想 , 真接把自己的函数声明与定义移到.h文件里就可以了 。就如下面的做法:
在工程里建好main.c后,再建一个点utils.h文件,把常用的函数如mean()放这里 。
// file name : utils.h
// version : 1
doublemean(double, double);//求两个数的均值
doublemean(double a, double b)
{
return (a+b)/2.0;
}
// file name : main.c
// version : 1
#includestdio.h
#include"utils.h"
intmain()
{
double a,b,avg;
a = 1.0;
b = 3.0;
avg = mean(a,b);//调用utils.h里的mean函数
printf("%lf\n", avg);
return0;
}
以上的代码是可以编译通过的 , 并运行正确的 。但是,这样的代码并不完善 。如果
再写一个头文件other.h,而other.h又引用了utils.h的mean()函数,这时就会出
问题:
// file name : utils.h
// version : 1
doublemean(double, double);//求两个数的均值
doublemean(double a, double b)
{
return (a+b)/2.0;
}
// file name : other.h
// version : 1
#include"utils.h"//引用 utils.h
doublemean4(double, double, double, double);
doublemean4(double a, double b, double c, double d)
推荐阅读
- phpcms链接地址,phpcms使用教程
- c语言输出每三个数字换行的简单介绍
- IOS10平板无法更新微信,pad1033微信无法更新
- rpgmaker制作动作游戏,rpg 游戏制作
- vb.net的报表 vbnet chart
- redis生产环境搭建,redis sentinel搭建
- u盘下载后怎么删除照片,下载的u盘
- 模拟游戏开发商的游戏,模拟游戏开发公司哪家好
- vb.net文本框 vb文本框selstart