疑惑?typedef在结构体中用法
typedef struct SqList
{
ElemType *elem;
int length;
int listsize;
}SqList;
这里面的两个SqList分别代表什么,还是都是一样的。结构体变量还是其他的,求解结构体类型
[解决办法]
第一个SqList是“结构标签”
第二个SqList是“类型定义”
[解决办法]
推荐直接写成
typedef struct
{
ElemType *elem;
int length;
int listsize;
}SqList;
或者
struct SqList
{
ElemType *elem;
int length;
int listsize;
};
[解决办法]
1楼++,不好的风格,糟糕的风格。
2楼说的也对啊~
建议结构体不要用typedef,仅仅为了少写struct而掩盖了变量的本质。
//每天回帖即可获得10分可用分!
[解决办法]
第一个SqList是“结构体名称”
第二个SqList是“结构体类型”
typedef struct
{
ElemType *elem;
int length;
int listsize;
}SqList;
[解决办法]
[解决办法]
个人观点,在同一段代码中“结构标签”和“结构类型”没有必要同时存在,更没有必要重名。
只用typedef 生成的"结构类型"就可以了。
[解决办法]
之前我也不知道,但是用的时候要么
struct A{
....
};
要么
typedef struct{
....
}A;
要么
typedef struct A{
.....
}_A;
定义最后一个时,以为A和_A是同一个,都只类型的
[解决办法]
第一个SqList是“tag”,第二个SqList是“type”