C语言typedef定义结构体数组,下面这段代码是什么意思?

typedefstructvexnode{intvertex;arcnode*firstarc;}adjlist[Vnum];typedef不是去个别明吗?structv... typedef struct vexnode
{
int vertex;
arcnode* firstarc;
}adjlist[Vnum];
typedef不是去个别明吗?struct vexnode的别名是一个数组?
我觉得他的本意是定义一个结构体struct vexnode然后定义一个结构体数组,
为什么不直接这样写
struct vexnode
{
int vertex;
arcnode* firstarc;
}adjlist[Vnum];
展开
 我来答
yesyes科
2020-05-13 · TA获得超过2.6万个赞
知道答主
回答量:608
采纳率:0%
帮助的人:7.6万
展开全部

含义是:定义一个类型别名adjlist,这个类型是一个结构体类型为元素类型的长度为Vnum的数组,这个结构体类型的元素是int vertex和arcnode* firstarc。操作方法如下:

1、首先在电脑中,打开Microsoft Visual Studio软件。

2、接着新建C++ 控制台工程,命名为Test工程。

3、理解typedef struct 的用法:在C中定义一个结构体类型时,用typedef struct 定义Student_Str结构体,成员包含名字和年龄,这样就可以直接使用Student进行变量的定义了。

4、编写代码,使用typedef struct 定义,并定义两个结构体。

5、最后运行程序并输出结果,如下图所示,就完成了。

FrankHB1989
推荐于2017-09-21 · TA获得超过4.2万个赞
知道大有可为答主
回答量:4569
采纳率:100%
帮助的人:2975万
展开全部
首先注意,C语言中表示类型的关键字struct不可省略(C++中可以),否则结构体名本身不会被作为一个类型名。
其次,typedef的语法是:
typedef 类型 类型别名;
这里的类型可以是一个结构体类型的定义。
在C语言中,这类typedef有着简化结构体类型名的作用。之后引用这个结构体类型名,不需要重复输入struct。
如果直接用结构体类型名定义变量,之后再引用结构体类型名时,还是比较麻烦。所以,一般先typedef定义一个类型别名,有需要时再利用这个类型别名定义变量。
下面的定义:
typedef struct vexnode
{
int vertex;
arcnode* firstarc;
}adjlist[Vnum];
含义是:定义一个类型别名adjlist,这个类型是一个结构体类型为元素类型的长度为Vnum的数组,这个结构体类型的元素是int vertex和arcnode* firstarc。
如果这样写:
struct vexnode
{
int vertex;
arcnode* firstarc;
}adjlist[Vnum];
,那么adjlist就不是类型名,而是数组变量名。
====
[原创回答团]

参考资料: 原创

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pengzi121
2010-05-17 · TA获得超过246个赞
知道小有建树答主
回答量:553
采纳率:0%
帮助的人:313万
展开全部
typedef是类型定义啊,vexnode可以作为一个类型来使用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2c4e5ef02
2010-05-17 · TA获得超过174个赞
知道小有建树答主
回答量:366
采纳率:0%
帮助的人:287万
展开全部
把结构体当类来使用了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
樱桃小权子
2015-10-07 · TA获得超过271个赞
知道小有建树答主
回答量:413
采纳率:0%
帮助的人:183万
展开全部
你的代码呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式