关于Lnode和*Linklist

来源:百度知道 编辑:UC知道 时间:2024/07/03 02:36:43
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*LinkList;

结尾的LNode,*LinkList
如果用于定义变量时

LNode *P 与 LinkList P效果是一样的吧~
那为什么还需要多余写一个Linklist呢?
LNode多加一个*就可以达到LinkList的效果,那不就多余一个类型了吗?
LNode *P 申明的指针P立即就占用了内存吗?
那int *k k也占用内存了?

恩 是一样的啊,但是这个数据结构就是为你让你理解清楚点就这样了,里面的例子都是能通过名字知道意思的,你定义一个LinkList P的意思就比LNode *P更加直观一点,这个只是编写这个教材的人这么认为的了,你只要知道是什么意思就好了,怎么表示没关系,这里是一样的

LNode *和 LinkList是等价的,只是要注意下面这样的变量声明:

LinkList P,Q; /*P,Q都是指针*/
LNode *P,Q;/*只有P是指针*/

也许是因为这个原因,才要使用LinkList;

LinkList 是个指针,申明出来的时候 是不占 内存的,需要new一下,当然 用完了也要delete了,LNode申明出来就占内存,变量过了有效期 自动就删了

当然不一样了.