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  

  • 相关阅读:
    ANSYS Workbench 16.0超级学习手册(附光盘)
    自控力(套装共2册)
    超实用记忆力训练法
    大愿法师“幸福人生”系列丛书——禅心商道
    高情商沟通术(写给所有深受社交困扰的人)
    青年职业形象管理手册(高等职业教育在线开放课程新形态一体化规划教材)
    1019. 括号匹配
    1026. 高精度除法
    1018. A+B Problem Revisited
    1015. 高精度乘法
  • 原文地址:https://www.cnblogs.com/zjvskn/p/4259994.html
Copyright © 2011-2022 走看看