头文件的编写和调用,C中如何写头文件代码如何使用

1,C中如何写头文件代码如何使用头文件有2种形式,一种是#include"xx.h",还有就是#include<xx.h>,前者是当前程序自定义的路径,是编程者自己定义的路径,后者是系统路径 。。。一般的来说如果不太会区分的话,建议全部采用第一种路径,就永远不会出错 。头文件中包含了你写程序所需要的许多的语句功能,比方说C语言里的printf语句就在#include "stdio.h"中希望对你有用
2,如何编写C语言的h头文件呀并调用其中的函数先新建一个MyHead.h内容通常自定义文件格式:#ifndef _MYHEAD_H_#define _MYHEAD_H_(这里是头文件的内容)#endif /* _MYHEAD_H_ */然后在你的.c中#include“MyHead.h”就可以了记得放在一个工程目录下和一般的文件一样写 只是以前写在.c的最前面现在 写在.h 里 ?。nclude“filename.h”就可以啦vs编译器不支持c语言,此外也没有头文件的概念,而是采用了元数据的机制 。
3,c语言头文件如何编写例子:#ifndef__SUM_H__#define__SUM_H__int sum(int , int);#endifC文件和头文件没有什么区别的,只是扩展名不同罢了分成两个文件写 , 一个在头文件中写,第二个在.c文件中写 。头文件中声明函数,然后在 。c文件中写函数体 如定义两个文件a.h和a.c在文件a.c中书写一下代码void a (int b,int c)int b,c,t;t=b;b=c;c=t;//这里交换两个数,其他要做什么代码自己写}在a.h中写入如下代码void a(int b,int c)这样就写好了,然后你要是想调用就直接在你要调用的文件开头写入#include “a.h”这样就可以了 , 当然头文件中还有防止重复包含,条件编译等一些代码,这里我就不详细说了【头文件的编写和调用,C中如何写头文件代码如何使用】
4 , C语言 头文件的书写例如//mytest.h#include void test(); //mytest.c #include "mytest.h" void main() { test(); } void test() { pintf("test"); } 头文件就是写你的申明函数或者结构体的地方 。。c文件就是写你实现过程,当然也可以写在头文件里 。然后在c文件里要包含这些头文件,不过最好防止重复引用的 。新建一个.h文件,写入内容,保存 。打开Include , 把你的.h粘贴进去,记住要用上#endif之类的语句!头文件分为系统库函数文件和用户自定义的文件,如果是系统自带的,则可以直接使用#include<...h>,如果是用户自己编写的,比如固定输出格式(用宏定义的),写完后保存到同一目录下,在需要用到的程序中,写上#include命令就可以了,如果不在同一目录下,则需要在命令后注明路径.祝你成功.一般格式如下,假设你要写的h文件名为xxx.h#ifndef XXX_H#define XXX_H...//然后是函数声明等头文件的正式内容...#endif这些宏定义是为了防止头文件重复载入头文件的像我们看到的 例如:stdio.h里面只是申明函数,具体的函数内容在lib的子目录的文件里包含,我们无法打开,像你说的问题 , 你可以不写成头文件,只写成一个XXXx 。c的文件然后用#inlude 包含近来也可以 那样你就可以调用你包含的这个c文件里的函数了 。#include"mytest.h"5,C语言里面怎么写头文件简单办法,先写完整程序,再把一部分抽出去,抽出去的存到 自己的头文件里,在抽出的地方写 #include ...例如,完整程序(计算平均值):#include<stdio.h> double mean(double *y, int N)int i;double s=0.0;for (i=0;i<N;i++) s=s+y[i];s = s / (double) N;return s;}void main()double x[10]=printf("mean = %lf\n", mean(x,10));}----------------------------------------------抽出部分 存入 a_x.h :double mean(double *y, int N)int i;double s=0.0;for (i=0;i<N;i++) s=s+y[i];s = s / (double) N;return s;}--------------------------------程序变: #include<stdio.h> #include "a_x.h"void main()double x[10]=printf("mean = %lf\n", mean(x,10));}=============================================你要是愿意随便抽一块也可以 , 例如抽出(也叫 a_x.h):double mean(double *y, int N)int i;double s=0.0;for (i=0;i<N;i++) s=s+y[i];s = s / (double) N;return s;}void main()------------------------程序变: #include<stdio.h> #include "a_x.h"double x[10]=printf("mean = %lf\n", mean(x,10));}==============================语法上,功能上,两种抽法都可以 。但第一种方法较好--程序可读性好,不易出错 。一般情况下,头文件里放 函数原型,全局量声明 和 函数定义 。一个.h文件要 对应有一个.c文件,这样写助于查看和修改程序 。比如a.h 和 a.c;:在.h文件中#ifndef__a_h_#define __a_h_#includevoid trans2(double b) ; double trans1() ; #endif 在.c文件中 #include "a.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(b11<0) 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) //为了避免出现59′60″这种情况,不过好像不起作用,不知道为什么,原来是int没有加括号 { b=b+1; c=0.0; } if(b==60) { b=0; a=a+1; } if(b<0) a=-a; printf("%d°%d′%.4f″\n",a,b,c); } } 就可以在main.c函数中调用a.c中的函数了 很好理解吧 希望对你有帮助 请采纳答案,支持我一下 。

    推荐阅读