永发信息网

c++的结构问题

答案:2  悬赏:40  手机版
解决时间 2021-04-29 21:46
  • 提问者网友:夢醒日落
  • 2021-04-29 08:02

#include <iostream.h>
typedef struct
{
int k;
int b;

} ElemType;
void main()
{
ELemType x;

}
ELemType x;是可以的但是struct x是不可以的,为什么??typedef struct
ELemType就是ELemType可以代替struct ,为什么一个可以一个不可以???

最佳答案
  • 五星知识达人网友:老鼠爱大米
  • 2021-04-29 09:03

typedef是把整一个数据结构定义ElemType来代替,struct是定义数据结构的关键字而不是具体的数据结构或数据类型!要想用名字来定义数据结构,可以给它取名为Elem,然后用它来声明,如struct Elem{};


然后就可以用声明struct Elem x;来声明数据结构类型了!(用这种方式来声明数据结构变量,不同于typedef,这时数据结构名不能少)


关键是:struct是定义数据结构的关键字而不是具体的数据结构或数据类型!想一想就知道,不同的数据结构有不同的数据成员,不同只用sturct关键字来声明,否则的话如果你是两个结构类型变量的话编译器该怎么给它初始化变量?!

全部回答
  • 1楼网友:刀戟声无边
  • 2021-04-29 09:37

typedef 是将ElemType和 struct { int k; int b;

} 等效了,而不是将ElemType和struct等效,请注意!

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯