你的分享就是我们的动力 ---﹥

结构体数组成员的初始化,该怎么解决

时间:2014-11-07 13:54来源:www.chengxuyuans.com 点击:
结构体数组成员的初始化
本帖最后由 woshi_ziyu 于 2014-10-15 10:26:47 编辑

typedef struct{
u8 index_current;
u8 top_up_index;
u8 bottom_down_index;
u8 index_lcd[6]
void (*KEY_Current)(void);
void (*Current_Operate)(u32 dat);
}index_code;

index_code menu[1]={0,0,0,{0,0,0,0,0,0},KEY_Scan,LCD_DISPLAY_DATA};

我定义了结构体数组,编译出错,我看网上很多资料,结构体数组成员基本上都是定义字符串的,我这边加了{ }。是不是意味着我定义的结构体数组长度就是2了,也就是index_code menu[2],很费解。

如果这样子,那么我初始化数组成员是不是要这样做

menu[0].index_lcd[0]=0;
-------------------
menu[0].index_lcd[5]=0;


这是使用在菜单程序中,也就是人机界面上面的,通过扫描按键,我个人的思路是通过跟踪按键进入子菜单,每个子菜单都是一个死循环,只有按了退出键才能跳出,不知道有没有好的建议。
------解决思路----------------------
引用:
Quote: 引用:

index_code menu[1]={0,0,0,{0,0,0,0,0,0},KEY_Scan,LCD_DISPLAY_DATA};

改成
index_code menu={0,0,0,{0,0,0,0,0,0},KEY_Scan,LCD_DISPLAY_DATA};


跳出警告了

C(39): warning C182: pointer to different objects


后面引用的有问题


index_code menu[2]={{0,0,0,{0,0,0,0,0,0},KEY_Scan,LCD_DISPLAY_DATA}};

转载注明地址:http://www.chengxuyuans.com/Hardware/scm/84369.html

推荐文章