新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > c語言結構體定義結構體

        c語言結構體定義結構體

        作者: 時間:2016-11-27 來源:網絡 收藏
        代碼1 定義結構體_m_usmart_dev

        struct _m_usmart_dev
        {
        struct _m_usmart_nametab *funs;//函數名指針

        本文引用地址:http://www.104case.com/article/201611/322299.htm

        void (*init)(u8);//初始化
        u8 (*cmd_rec)(u8*str);//識別函數名及參數
        void (*exe)(void); //執行
        void (*scan)(void); //掃描
        u8 fnum; //函數數量
        u8 pnum; //參數數量
        u8 id;//函數id
        u8 sptype;//參數顯示類型(非字符串參數):0,10進制;1,16進制;
        u16 parmtype;//參數的類型
        u8 plentbl[MAX_PARM]; //每個參數的長度暫存表
        u8 parm[PARM_LEN]; //函數的參數
        };

        代碼2 定義_m_usmart_dev類型的結構體 并對其賦初始值

        struct _m_usmart_dev usmart_dev=
        {
        usmart_nametab,
        usmart_init,
        usmart_cmd_rec,
        usmart_exe,
        usmart_scan,
        sizeof(usmart_nametab)/sizeof(struct _m_usmart_nametab),//函數數量
        0, //參數數量
        0, //函數ID
        1,//參數顯示類型,0,10進制;1,16進制
        0,//參數類型.bitx:,0,數字;1,字符串
        0, //每個參數的長度暫存表,需要MAX_PARM個0初始化
        0,//函數的參數,需要PARM_LEN個0初始化
        };

        上邊代碼可理解為

        struct _m_usmart_dev
        {
        struct _m_usmart_nametab *funs;//函數名指針

        void (*init)(u8);//初始化
        u8 (*cmd_rec)(u8*str);//識別函數名及參數
        void (*exe)(void); //執行
        void (*scan)(void); //掃描
        u8 fnum; //函數數量
        u8 pnum; //參數數量
        u8 id;//函數id
        u8 sptype;//參數顯示類型(非字符串參數):0,10進制;1,16進制;
        u16 parmtype;//參數的類型
        u8 plentbl[MAX_PARM]; //每個參數的長度暫存表
        u8 parm[PARM_LEN]; //函數的參數
        }usmart_dev=
        {
        usmart_nametab,
        usmart_init,
        usmart_cmd_rec,
        usmart_exe,
        usmart_scan,
        sizeof(usmart_nametab)/sizeof(struct _m_usmart_nametab),//函數數量
        0, //參數數量
        0, //函數ID
        1,//參數顯示類型,0,10進制;1,16進制
        0,//參數類型.bitx:,0,數字;1,字符串
        0, //每個參數的長度暫存表,需要MAX_PARM個0初始化
        0,//函數的參數,需要PARM_LEN個0初始化
        };



        關鍵詞: c語言結構

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 禄丰县| 肇东市| 临沧市| 郯城县| 杨浦区| 孟连| 曲松县| 普兰县| 巴彦淖尔市| 嘉义市| 长沙市| 岫岩| 尚志市| 镇平县| 康平县| 大同市| 青铜峡市| 汉沽区| 大化| 临澧县| 泗洪县| 望奎县| 宽甸| 章丘市| 乡宁县| 巧家县| 萍乡市| 绥江县| 齐齐哈尔市| 昌乐县| 莫力| 延吉市| 元谋县| 军事| 常州市| 余干县| 凭祥市| 红河县| 汽车| 会宁县| 武安市|