请问C语言的栈以下结构体为什么要命名为两个名字?

typedef struct StackNode {
SElemType data;
struct StackNode *next;
} StackNode, *LinkStack;
为什么要命名为StackNode, *LinkStack;这两人名字?

前面是struct StackNode类型,后面是struct StackNode*指针类型,名字不同只是为了区分类型,例如LinkStack可以作为链表头节点的指针,代表这个链表,而每个StackNode实际上就是这个链表的节点对象。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-06-24
C语言中的结构体:在C语言中,结构体指的是一种数据结构,是C语言中聚合数据类型的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员,且这些成员可以为不同的类型,成员一般用名字访问。在C语言中,结构体的名字本质上还是一个标识符。由标识符,有数字、字母、下划线组成,且第1个字符只能是字母或者下划线。
相似回答