找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4357|回复: 4
收起左侧

error C129: missing ';' before '->'这个C语言错误怎么解决?

[复制链接]
ID:958854 发表于 2021-8-30 16:42 | 显示全部楼层 |阅读模式
#define u8 unsigned char

typedef struct
{
        u8 sec_m;   //毫秒
        u8 sec;     //秒
        u8 minute;  //分
        u8 hour;    //时
}time;

time s;
time *p=&s;
p->sec=0;

编译错误是 错误C129:缺少“;”在'->'之前将p->sec=0;改成(*p).sec=0;
错误又变成 错误C129:缺少“;”在'.'之前
这是为什么?????


回复

使用道具 举报

ID:161164 发表于 2021-8-30 17:46 | 显示全部楼层
刚刚试了一下
把p->sec=0; 放进main()里就可以了

至于原因...我也不知道~
回复

使用道具 举报

ID:415064 发表于 2021-8-30 18:08 | 显示全部楼层
p->sec=0相当于结构体的部分值初始化,不能这么写的,要么在函数体内初始化,要么在结构体定义的时候初始化。。。BUT,这个和编译器有关,至少keil是不能这样干的
回复

使用道具 举报

ID:883242 发表于 2021-8-30 19:04 | 显示全部楼层
你这是把实体语句写在函数体外面了,这是基本的c语法问题,回头学c语言吧!
回复

使用道具 举报

ID:584814 发表于 2021-8-31 08:34 | 显示全部楼层
lkc8210 发表于 2021-8-30 17:46
刚刚试了一下
把p->sec=0; 放进main()里就可以了

貌似体外只能赋值,有运算得放在函数里罢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表