永发信息网

有关c语言结构体的初始化报错

答案:2  悬赏:10  手机版
解决时间 2021-02-12 15:28
  • 提问者网友:献世佛
  • 2021-02-11 22:16
代码如下,用KEIL MDK编译时会报
“user\hostcmd.c(40): error: #29: expected an expression”
“user\hostcmd.c(41): error: #29: expected an expression”
“user\hostcmd.c(42): error: #29: expected an expression”

struct _HOSTCMD
{
uint8_t status;
uint8_t echo;
uint8_t debugMode;
};

tHOSTCMD hstcmd = {
.status = 0,
.echo = FALSE,
.debugMode = FALSE
};

有个地方笔误,应该是struct _HOSTCMD hstcmd = { ....
最佳答案
  • 五星知识达人网友:愁杀梦里人
  • 2021-02-11 23:26
这个可能和特定的IDE有关吧,建议用最简单的struct _HOSTCMD hstcmd = { 0,FALSE,FALSE}初始化试试吧
全部回答
  • 1楼网友:撞了怀
  • 2021-02-12 00:13
这个结构体中包含三个变量,num name[20] c 你的结构体初始化只初始化了 name[20] 其余俩个变量没有初始化,所以会报错 你可以这样初始化 struct wo b(1,"jack",'m'); 要注意对结构体中所有变量都要初始化,除非这个变量有缺省值
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯