一、".h"文件必须以如下格式书写
例:文件《CZ_efg_hi.h"》
------------文件内容-----------
#ifndef CZ_Efg_Hi_H
#define CZ_Efg_Hi_H
.....
所有文件内容
.....
#endif
---------------------------------
二、全局变量 在".h"文件中声明,在".c"文件中定义及初始化
例:某2个全局变量
小型程序中 :
unsigned char CommandStackAppendPoint=0;
bit CommandStackOverflow=0;
在大型程序中
".h"文件 只声明
extern unsigned char CommandStackAppendPoint;
extern bit CommandStackOverflow;
".c"文件 定义及初始化
unsigned char CommandStackAppendPoint=0;
bit CommandStackOverflow=0;
三、特别要注意数组类型的声明及定义
[]里空的表示“声明”,[]里定义了长度则表示“定义”
普通数组
小型程序中
unsigned char SerialRxDataBuffer[4];
大型程序中
".h"文件 声明([]中空的)
extern unsigned char SerialRxDataBuffer[];
".c"文件 定义([]中定义了长度)
unsigned char SerialRxDataBuffer[4]={0,1,2,3};
结构数组
小型程序
extern struct Command
{
unsigned char DeviceCode;
unsigned char ControlParameter;
unsigned char DataH;
unsigned char DataL;一个15位的数值
} CommandStack[4];
大型程序
".h"文件
extern struct Command
{
unsigned char DeviceCode;
unsigned char ControlParameter;
unsigned char DataH;
unsigned char DataL;一个15位的数值
} ;
extern struct Command CommandStack[];
".c"文件
struct Command CommandStack[4];
四、函数声明
只要在".h"文件内将所有生命的函数前加上extern即可
小型程序
void InitCommandStack() ; //初始化命令堆栈 , 将所有值置0
大型程序
extern void InitCommandStack() ; //初始化命令堆栈 , 将所有值置0