C语言中结构体类型名与变量名的区别?

2024-12-01 11:41:05
推荐回答(1个)
回答1:

结构体名字是类型名,变量名是实体名,一个类型可以有许多实体。
具体操作,举例讲解如下:
1.结构体类型定义
定义方式1:
Typedef
struct
LNode
{
int
data;
//
数据域
struct
LNode
*next;
//
指针域
}
*LinkList;
定义方式2:
struct
LNode
{
int
data;
//
数据域
struct
LNode
*next;
//
指针域
};
Typedef
struct
LNode
*LinkList;
以上两个定义方式是等价的,是将*LinkList定义为struct
LNode类型,即LinkList被定义为一个类型名。这样就可以用LinkList来定义说明新的变量了,如:
LinkList
L;
即将L定义为struct
LNode类型的指针变量
2.结构体类型变量定义
定义方式1:
struct
LNode
{
int
data;
//
数据域
struct
LNode
*next;
//
指针域
}LnodeA;
定义方式2:
struct
LNode
{
int
data;
//
数据域
struct
LNode
*next;
//
指针域
};
struct
LNode
LnodeA;
以上两个定义方式也是等价的,这样就将LnodeA定义为一个truct
LNode类型的变量,即LnodeA为一个truct
LNode类型的变量名。