C语言链表设计中的一个常见问题

[复制链接]
查看11 | 回复3 | 2011-7-30 16:42:54 | 显示全部楼层 |阅读模式
先看这个程序:typedef struct node
{
        int data;
        struct node *next;
}NODE;
NODE * creat_link(int n)//NODE不是自定义的一个结构体变量吗?这里就看不懂了
{
        int i;
        NODE *head,*p,*q;
        p=(NODE *)malloc(sizeof(NODE));
        head=q=p;
        scanf("%d",&q->data);
        for(i=1;idata);
                q->next=p;
                q=p;
        }
        q->next=NULL;
        return head;
}
C语言初学者,多谢了。

回复

使用道具 举报

千问 | 2011-7-30 16:42:54 | 显示全部楼层
typedef struct node{int data;struct node *next;}NODE;关键字typedef声明的这里的NODE 等价于 struct node...
回复

使用道具 举报

千问 | 2011-7-30 16:42:54 | 显示全部楼层
在这个函数里面把链建好,返回这个链的首地址,你用一个指针接受这个地址,就指向这个链了,自己定义结构体变量中的next是指向下一个节点(Node型的),head表示这个链的头,q指向当前节点,p指的是未加入的节点,malloc是初始化结构体(申请空间),scanf()是输入...
回复

使用道具 举报

千问 | 2011-7-30 16:42:54 | 显示全部楼层
int fun();//函数返回一个intint *fun();//函数返回一个指向int的指针同理NODE *fun();//函数返回一个指向NODE的指针...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行