1)h文件效果
1便利开发:包括一些文件需求的一起的常量,结构,类型界说,函数,变量声明;
2供给接口:对一个软件包来说能够供给一个给外界的接口(例如: stdio.h)。
2)h文件里应该有什么
常量,结构,类型界说,函数,变量声明。
3)h文件不该该有什么
变量界说,函数界说。
4)extern问题
关于变量需求extern;
关于函数不需求由于函数的缺省状况是extern的.假如一个函数要改变为只在文件内可见,加static。
5)include包括问题
尽管声明和类型界说能够重复,不过引荐运用条件编译。
#ifndef_FILENAME_H,
#define_FILENAME_H
……
#endif
6)应该在那儿包括h文件
在需求的当地.比方某个供给接口的h文件只是被1.c文件需求,那么就在1.c文件里包括。
编写的程序一般会有.H文件和相对应的.C文件,.H文件是声明所用,.C文件是其函数完成部分。在调用时只需包括.H文件即可,咱们没有听说过#include “delay.c”这类的程序,一起也不发起运用这个方式。
在delay.h文件中://对调用的函数声明
#ifndef__DELAY_H__
#define__DELAY_H__
extern voidDelayms(unsigned intn);
#endif
在delay.c文件中://函数完成部分
#include
//for crystal11.0592M
voidDelayms(unsigned intn)
{
unsignedint i,j;
for(j=n;j>0;j–)
for(i=112;i>0;i–);
}
在主程序main.c中
#include
……
上述办法依然要求每树立一个工程就需求把对应的头文件复制到工程的文件夹里,这样看来依然是比较费事的,这时还有别的一中办法便是将做好的头文件放在一个文件夹中,然后将这个文件夹全体拷贝到..KEILC51INC下面,今后若需求运用某个头文件,就如运用KEIL自带的头文件相同便利了,在主函数mani()之前有一句#include就能够在main()中运用其间的函数了。
参考资料:
1)h文件里变量(函数)声明用不用extern
http://www.unixresources.net/linux/clf/program/archive/00/00/33/65/336569.html
2).c文件和.h文件的概念与联络
http://www.vckbase.com/document/viewdoc/?id=1607
3)过马路,左右看
http://www.vckbase.com/document/viewdoc/?id=1606
4).c和.h文件的不同
http://hi.baidu.com/mfantastic/blog/item/d6fddd39793494f73a87ce0c.html
5)C51包括头文件办法
http://blog.ednchina.com/eleclike/52862/message.aspx