zoukankan      html  css  js  c++  java
  • 结构体及共用体的初始化方法

    结构体初始化:
     
    /************************************************************
    *  全局变量定义
    ************************************************************/
    AD_CTL_ST g_AdCtl; //定义结构体变量
    AD_BUF_ST g_AdBuf[BUF_NUM]; //定义结构体数组
     
     
    /************************************************************
    *  初始化结构体
    ************************************************************/
    PRIVATE void AdStcInit(void)
    {
        int i;
        AD_CTL_ST *pAC = &g_AdCtl;
        AD_BUF_ST *pAB = g_AdBuf;
       
        pAC->Flag = OFF;
        pAC->Cnt  = CLEAR;
       
        for(i = 0; i < BUF_NUM; i++,pAB)
        {
      /* 均可实现初始化, MemSet函数需自己实现 */
            //(void)MemSet(g_AdBuf[i].AdBuf, CLEAR, sizeof(g_AdBuf));
            (void)MemSet(pAB->AdBuf, CLEAR, sizeof(pAB->AdBuf));
        }
    }

    共用体初始化:
     
        在共用体变量定义的同时只能用第一个成员的类型值进行初始化,共用体变量初始化的一般形式:union 共用体类型名 共用体变量 = { 第一个成员的类型名 };
    /************************************************************
    *  定义宏
    ************************************************************/
     #define SYS_TF_NUM  1U
     
     
    /************************************************************
    *  定义结构体
    ************************************************************/
    typedef union
    {
        INT8U _c;
        struct
        {
            INT8U flg   :1;
            INT8U ctr   :7;
        }Bits;
    }Sys_TaskFlg_st;
     
    //定义联合体变量
     Sys_TaskFlg_st Sys_TaskFlg[SYS_TF_NUM];
    /************************************************************
    *  初始化
    ************************************************************/
    PRIVATE void StructInit(void)
    {
      for(i=0;i<=SYS_TF_NUM;i++)
      {
        sys_TaskFlg[i]._c   = 0;
      }
    }
  • 相关阅读:
    MySQL学习之——锁(行锁、表锁、页锁、乐观锁、悲观锁等)
    PhpExcel导出excel报错:net::ERR_INVALID_RESPONSE
    Java收藏
    Java项目收藏
    CentOS 6.8 安装 Erlang 及 RabbitMQ Server
    Redis 中 5 种数据结构的使用场景介绍
    Golang 实现 set 集合,变相实现 切片去重、排序 功能
    查看 Mac/Linux 某端口占用情况
    [Beego模型] 六、事务处理
    [Beego模型] 五、构造查询
  • 原文地址:https://www.cnblogs.com/ownDefine/p/10802063.html
Copyright © 2011-2022 走看看