在C语言中,结构(struct)是指C语言的聚合数据类型等数据结构。

结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。

定义结构变量的一般格式为:

struct 结构名

{

类型 变量名;

类型 变量名;

} 结构变量;

结构名是结构的标识符不是变量名。

另一种常用格式为:

typedef struct 结构名

{

类型 变量名;

类型 变量名;

} 结构别名;

另外注意: 在C中,struct不能包含函数。在C++中,对struct进行了扩展,可以包含函数。

typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。

具体区别在于:

若struct node {}这样来定义结构体的话。在申请node 的变量时,需要这样写,struct node n;

若用typedef,可以这样写,typedef struct node{}NODE; 。在申请变量时就可以这样写,NODE n;

区别就在于使用时,是否可以省去struct这个关键字。

使用方法:

typedef struct tagMyStruct

{

int Num;

  int Length;

} MyStruct;

在C中,这个申明后申请结构变量的方法有两种:

    (1)struct tagMyStruct 变量名;

    (2)MyStruct 变量名;

相关推荐