2 回答

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
(1) struct{ int x; int y; }test1;
好,定義了 結(jié)構(gòu) test1,
test1.x 和 test1.y 可以在語(yǔ)句里用了。
(2) struct test {int x; int y; }test1;
好,定義了 結(jié)構(gòu) test1,
test1.x 和 test1.y 可以在語(yǔ)句里用了。
與 1 比,省寫(xiě) 了 test
(3)
typedef struct test
{int x; int y; // 你漏打分號(hào),給你添上
}text1,text2;
只說(shuō)了 這種結(jié)構(gòu) 的(類(lèi)型)別名 叫 text1 或叫 text2
真正在語(yǔ)句里用,還要寫(xiě):
text1 test1;
然后好用 test1.x test1.y
或?qū)?text2 test1;
然后好用 test1.x test1.y
(4)type struct {int x; int y; }test1;
這個(gè)不可以。
改 typedef ... 就可以了。
但也同 (3)一樣,還要 寫(xiě):
test1 my_st;
才能用 my_st.x 和 my_st.y

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
看了最佳答案,解釋一下第三個(gè)
用 text1 或 text2 代替這一串:
struct test
{int x;
int y;
}
這時(shí)并沒(méi)有定義一個(gè)結(jié)構(gòu)體,但是接下來(lái)定義一個(gè)上面這樣的結(jié)構(gòu)體就可以寫(xiě)成這樣:
text1 a;
或
text2 a;
其中a是結(jié)構(gòu)體變量名。
添加回答
舉報(bào)