存在一点bug
#include <stdio.h>
#include <stdlib.h>
struct node
{
int num;
struct node*next;
};
typedef struct node Node;
typedef struct node * Link;
void creat_link(Link *head)
{
*head=NULL;
}
//void insert_node_head(Link *head,Link new_node)
{
new_node->next=*head;
*head=new_node;
}
void display_node(Link head)
{
Link tmp;
tmp=head;
while(tmp!=NULL)
{
printf("num=%d\n",tmp->num);
tmp=tmp->next;
}
}
void is_malloc_ok(Link new_node)
{
if(new_node==NULL)
{
printf("malloc error!=\n");
exit(-1);
}
}
void creat_newnode(Link *new_node)
{
new_node=(Link)malloc(sizeof(Node));
is_malloc_ok(*new_node);
}
void insert_node_tail(Link *head,Link new_node)
{
Link tmp;
tmp = *head;
if(*head == NULL)
{
new_node->next=*head;
*head=new_node;
}
else
{
while(tmp->next!=NULL)
{
tmp=tmp->next;
}
tmp->next=new_node;
new_node->next=NULL;
}
}
int main()
{
int i;
Link head=NULL;
Link new_node=NULL;
creat_link(&head);
for(i=0;i<10;i++)
{
new_node=(Link)malloc(sizeof)(Node);
is_malloc_ok( new_node);
new_node->num=i;
// insert_node_head(&head,new_node);
insert_node_tail(&head,new_node);
}
display_node(head);
return 0;
}