找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4368|回復: 4
收起左側(cè)

error C129: missing ';' before '->'這個C語言錯誤怎么解決?

[復制鏈接]
ID:958854 發(fā)表于 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 發(fā)表于 2021-8-30 17:46 | 顯示全部樓層
剛剛試了一下
把p->sec=0; 放進main()里就可以了

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

使用道具 舉報

ID:415064 發(fā)表于 2021-8-30 18:08 | 顯示全部樓層
p->sec=0相當于結(jié)構(gòu)體的部分值初始化,不能這么寫的,要么在函數(shù)體內(nèi)初始化,要么在結(jié)構(gòu)體定義的時候初始化。。。BUT,這個和編譯器有關(guān),至少keil是不能這樣干的
回復

使用道具 舉報

ID:883242 發(fā)表于 2021-8-30 19:04 | 顯示全部樓層
你這是把實體語句寫在函數(shù)體外面了,這是基本的c語法問題,回頭學c語言吧!
回復

使用道具 舉報

ID:584814 發(fā)表于 2021-8-31 08:34 | 顯示全部樓層
lkc8210 發(fā)表于 2021-8-30 17:46
剛剛試了一下
把p->sec=0; 放進main()里就可以了

貌似體外只能賦值,有運算得放在函數(shù)里罷。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表