c小问题,谢谢,请回答想尽些

来源:百度知道 编辑:UC知道 时间:2024/05/30 01:27:09
typedef struct lnode {
ElemType data;
struct lnode *next;
} lnode, *linklist;

*l = (linklist ) malloc(sizeof (lnode));

*l = (linklist
这俩句怎么理解。

动态申请类型为linklist,大小为sizeof(inode)空间,并把链表的首地址给l

第一句:linklist 等价于 lnode*
第二名:分配一个存放lnode结构的内存块,并让 l 指向它
以后可以这样用:
l->data = ??
l->next = ??

第二句没有声明l, 是错误的
*l = (linklist ) malloc(sizeof (lnode));
应该
lnode *l = (linklist ) malloc(sizeof (lnode));
或者
linklist l = (linklist ) malloc(sizeof (lnode));