对于一个文件fileA.c调用另外一个文件fileB.c的printmessage函数,上一遍文章 [url=http://justshare.iteye.com/blog/406522]C系列: 关于multiple markers at this line的error[/url]里面讲道:除了在fileB.c中要声明外,还需要在fileA.c中再次声明。这样声明来声明去的,是个累赘。这时我就想,能不能把它做成类似于JAVA的接口,需要时加进来?正好,在C里面有这种类似的机制,它就叫[b]头文件[/b]。把公用的函数声明到头文件,具体调用时再用include把头文件包含进来。
头文件:template.h
调用文件:fileA.c
被调用文件:fileB.c
记:大一的时候学过一学期的C语言,后来就再也没碰过C。自从接触JAVA的面向对象后,现在再回头学C,走了不少弯路,别看上面写得这么简单,那是建立在问了同学+自己摸索了半天之后才明白的。可能是自己太笨了点,其实还有一个主要的原因是脑子一下子转换不过来,习惯真是可怕啊。
头文件:template.h
/*
* template.h
*/
#ifndef TEMPLATE_H_
#define TEMPLATE_H_
void printmessage(); /*在头文件中声明*/
#endif /* TEMPLATE_H_ */
调用文件:fileA.c
/*
* fileA.c
*/
#include <stdio.h>
#include "template.h" /*将声明好的头文件包含进来*/
void ghellops() {
printmessage(); /*调用fileB.c中的printmessage函数*/
printf("fold aaa.c\n");
}
被调用文件:fileB.c
/*
* fileB.c
*/
#include <stdio.h>
#include "template.h" /*将声明好的头文件包含进来*/
/*实现方法*/
void printmessage() {
printf("printmessage\n");
}
记:大一的时候学过一学期的C语言,后来就再也没碰过C。自从接触JAVA的面向对象后,现在再回头学C,走了不少弯路,别看上面写得这么简单,那是建立在问了同学+自己摸索了半天之后才明白的。可能是自己太笨了点,其实还有一个主要的原因是脑子一下子转换不过来,习惯真是可怕啊。