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;
      }
    }
  • 相关阅读:
    选择排序
    快速排序
    希尔排序
    直接插入排序
    判断三角形的类型
    Unicode编码下: CString 转换为 string
    GDAL中GDALDataType中值与其在C++中数据类型对应
    ftell()
    fseek()
    fopen_s()
  • 原文地址:https://www.cnblogs.com/ownDefine/p/10802063.html
Copyright © 2011-2022 走看看