h 中一般放的是同名
c 文件中定义的变量、数组、函数的声明,需要让
c 外部使用的声明
1)h 文件作用 1 方便开发:包含一些文件需要的共同的常量,结构,类型定义,函数,变量申明; 2 提供接口:对一个软件包来说可以提供一个给外界的接口(例如: stdio
2)h 文件里应该有什么 常量,结构,类型定义,函数,变量申明
3)h 文件不应该有什么 变量定义, 函数定义
4)ex tern 问题 对于变量需要 ex tern; 对于函数不需要因为函数的缺省状态是ex tern 的
如果一个函数要改变为只在文件内可见,加 static
5)inclu de 包含问题 虽然申明和类型定义可以重复,不过推荐使用条件编译
#ifndef _FILENAME_H, #define _FILENAME_H „„ #endif 6)应该在那儿包含h 文件 在需要的地方
比如某个提供接口的h 文件仅仅被1
c 文件需要,那么就在1
c 文件里包含
编写的程序一般会有
H 文件和相对应的
H 文件是声明所用,
C 文件是其函数实现部分
在调用时只要包含
H 文件即可,我们没有听说过#inclu de "delay
c"这类的程序,同时也不提倡使用这个形式
在delay
h 文件中: //对调用的函数声明 #ifndef __DELAY_H__ #define __DELAY_H__ ex tern v oid Delay ms(u nsigned int n); #endif 在delay
c 文件中: //函数实现部分 #include //for crystal 11
0592M void Delayms(unsigned int n) { unsigned int i,j; for(j=n;j>0;j--) for(i=112;i>0;i--);