1:typedef struct x
{
int a;
int b;
}t;
用typedef,它是给struct x取了一个别名叫t;
2:typedef struct
{
int a;
int b;
}t;
而这是一个无名的结构体,是struct 取了一个别名叫t,还是什么取了一个别名叫t???
c++的结构体问题
答案:2 悬赏:70 手机版
解决时间 2021-04-23 10:41
- 提问者网友:容嬷嬷拿针来
- 2021-04-23 00:46
最佳答案
- 五星知识达人网友:三千妖杀
- 2021-04-23 01:01
这种用法在typedef中一般是:
typedef struct tagA //故意给一个不同的名字,作为结构体的实名
{
//...
} A; //结构体的别名。
typedef struct tagA //故意给一个不同的名字,作为结构体的实名
{
//...
} A; //结构体的别名。
后者是结构体变量定义,意思是:以{}中的结构,定义一个名称为"A"的变量。这里的结构体称为匿名结构体,是无法被直接引用的。
也可以通过typedef为匿名结构体创建一个别名,从而使得它可以被引用:
typedef struct
{
//...
} A; //定义匿名结构体的别名为A
全部回答
- 1楼网友:蓝房子
- 2021-04-23 01:59
这样说, typedef int myint 这个你知道,现在把中间的那个int 换成struct { int a; int b; } 了,这会你就理解了吧。
这就是书上说的像typedef struct { int a; int b; }t 定义的结构体只能用t来声明了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯