zoukankan      html  css  js  c++  java
  • 多个".h"文件中声明及定义 全局变量和函数

    一、".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  

  • 相关阅读:
    SpringMVC异常处理
    SpringMVC参数绑定、Post乱码解决方法
    @RequestMapping与controller方法返回值介绍
    Git学习总结(标签管理)
    Git分支管理
    远程仓库
    可用来修改bean对象的BeanPostProcessor
    @Configuration的使用
    Spring配置:用context:property-placeholder替换PropertyPlaceholderConfigurer
    深入剖析 Spring 框架的 BeanFactory
  • 原文地址:https://www.cnblogs.com/zjvskn/p/4259994.html
Copyright © 2011-2022 走看看