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;
      }
    }
  • 相关阅读:
    清北学堂2019NOIP提高储备营DAY1
    最小生成树--克鲁斯卡尔算法(Kruskal)
    关于队列(还有广度优先搜索的例题)
    染色问题
    行列式的相关知识
    素数筛法
    中国剩余定理(孙子定理)
    AOJ 9.University
    AOJ 8.童年生活二三事
    AOJ 7.Redraiment猜想
  • 原文地址:https://www.cnblogs.com/ownDefine/p/10802063.html
Copyright © 2011-2022 走看看