解释一下C中的struct

来源:百度知道 编辑:UC知道 时间:2024/05/26 10:39:54
typedef struct QNode{
ElemType data;
struct QNode *next;
}QNode, *QueuePtr;
QNDODE 为什么要有两个,后面那个Qnode 和*QueuePtr
有什么区别啊

QNode是struct QNode类型的同义词

由于QueuePtr前面有星号,所以QueuePtr用于定义类型为struct QNode *的指针变量。

前面那个是说struct QNode{...} = QNode,
后面那个是说struct QNode{...}* = QueuePtr,
就好像int integer, *int_pointer;一句声明了一个整数,一个整数指针一样。

前面的定义了一个struct的变量,后面定义了一个指向该struct的指针