typedef 用法中出现的疑惑
来源:百度知道 编辑:UC知道 时间:2024/05/21 22:38:05
这是一道链式存储的相关编程题,下面是我程序的一部分
typedef struct LNode
{ int data;
struct LNode *next;
}LNode,*LinkList;
我明白:LNode和LinkList都是给LNode起的新名字,但是我不懂,*LinkList到底表示什么东西。
typedef struct LNode
{ int data;
struct LNode *next;
}LNode,*LinkList;
我明白:LNode和LinkList都是给LNode起的新名字,但是我不懂,*LinkList到底表示什么东西。
楼上的真是胡扯。
typedef struct LNode
{ int data;
struct LNode *next;
}LNode,*LinkList;
上面的意义可以这样来解释,你可以把上面的声明分解开来看。
struct LNode
{ int data;
struct LNode *next;
};
typedef struct LNode LNode;
typedef struct LNode* LinkList;
LinkList 即表示 struct LNode*; 以后要申明一个 struct LNode* 变量,就可以直接使用 LinkList ,即LinkList是一个数据类型,和struct LNode*是等价的。如 LinkList nodeList; (表面上是一个实例,其实是个指针,实质是 struct LNode* nodeList)
typedef 的同时,附带 声明了一个指针 *LinkList
相当于另写了一行声明:
LNode *LinkList;
指针