关于c99模式结构体变量初始化

2019-08-18 21:10发布

例如声明了这样的结构体 [mw_shl_code=c,true]typedef struct{ u16 cursorx; u16 cursory; u16 x1,y1; u16 x2,y2; u16 point_color; u16 back_color; u8 size; u8 mode; }_tft_printtypedef; [/mw_shl_code] 并声明变量、初始化 [mw_shl_code=c,true]_tft_printtypedef TFT_prStuc={.cursorx=0, .cursory=0, .x1=0, .y1=0, .point_color=WHITE, .back_color=BLUE, .size=12, .mode=0}; [/mw_shl_code] 这样的初始化在keil中(我用的的keil5)书写后并不会有提示,但编译会出错 [mw_shl_code=c,true]touch.c(333): error: #29: expected an expression .cursorx=30,[/mw_shl_code] 这样初始化需要在编译选项中勾选 c99 mode
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
szczyb1314
1楼-- · 2019-08-18 21:18
正点原子
2楼-- · 2019-08-18 23:14
把.xxx=,全去掉,就可以了。
insect50
3楼-- · 2019-08-19 01:22
回复【2楼】正点原子:
---------------------------------
用.xxx修改结构体成员也不会影响初始化效果,不过要选择c99标准

一周热门 更多>