typedef struct与struct的区别

在学习c语言数据结构的过程中,经常性的会遇到定义结构体的格式,形式为:

typedef struct
{
	int a[100];
	int len;
}SeqList;

SeqList List;

这里定义了一个长度为100的顺序表,而我平时如果定义,则会如下:

struct SeqList
{
 int a[100];
 int len;
}List;

大致一看,二者的区别在于typedef,经过一些查找资料与对比,首先说明一下typedef的作用:
typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。
之后我发现了其中的区别:

  • 第一种typedef struct,其定义了一个结构体,并重命名为SeqList,所以定义更多顺序表的时候,可以直接用
SeqList List1,List2;
  • 第二种定义的结构体名叫SeqList,并没有重命名,所以要定义顺序表需要
struct SeqList List1,List2;

其实二者只是差一个struct的区别,但如果需要大量引用,这样就会显得更加方便。

最后我找到一个比较好的介绍typedef的用途的文章:
typedef的四个用途和两大陷阱

阅读后更容易理解上面的问题了。

发布了2 篇原创文章 · 获赞 1 · 访问量 44

猜你喜欢

转载自blog.csdn.net/qq_45704650/article/details/104324331