为了账号安全,请及时绑定邮箱和手机立即绑定

请高手帮忙解释以下几种结构体定义的区别:

请高手帮忙解释以下几种结构体定义的区别:

繁华开满天机 2022-05-12 15:11:09
struct{int x;int y;}test1;struct test{int x;int y;}test1;typedef struct test{int x;int y}text1,text2;这几种方法把小弟弄得头疼,不胜感激!还有:type struct{int x;int y;}test1;
查看完整描述

2 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

(1) struct{ int x; int y; }test1;
好,定义了 结构 test1,
test1.x 和 test1.y 可以在语句里用了。

(2) struct test {int x; int y; }test1;
好,定义了 结构 test1,
test1.x 和 test1.y 可以在语句里用了。
与 1 比,省写 了 test

(3)
typedef struct test
{int x; int y; // 你漏打分号,给你添上
}text1,text2;
只说了 这种结构 的(类型)别名 叫 text1 或叫 text2

真正在语句里用,还要写:
text1 test1;
然后好用 test1.x test1.y

或写 text2 test1;
然后好用 test1.x test1.y

(4)type struct {int x; int y; }test1;
这个不可以。
改 typedef ... 就可以了。
但也同 (3)一样,还要 写:
test1 my_st;
才能用 my_st.x 和 my_st.y



查看完整回答
反对 回复 2022-05-16
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

看了最佳答案,解释一下第三个
用 text1 或 text2 代替这一串:
struct test
{int x;
int y;
}

这时并没有定义一个结构体,但是接下来定义一个上面这样的结构体就可以写成这样:
text1 a;

text2 a;
其中a是结构体变量名。



查看完整回答
反对 回复 2022-05-16
  • 2 回答
  • 0 关注
  • 142 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信