创建单链表

struct Node{
     int value;
     struct ListNode *next;
};
typedef struct Node ListNode;

ListNode* creat(ListNode *head)
{
     int i;
    ListNode *p1,*p2;
    p1=p2=(ListNode*)malloc( sizeof(ListNode));
    
     for(i = 1; i < 5;i++)
    {
         printf( "input a number: " );
         scanf( "%d",&p1->value);
          if(head == NULL)
             head = p1;
          else
             p2->next = p1;
         p2 = p1;
         p1 = (ListNode*)malloc( sizeof(ListNode));

    }
    p2->next = NULL;
     return head;
}
void print(ListNode *head)
{
    ListNode *begin = head;
     if(begin == NULL){
         printf( "aaaaaaa");
    }
     while(begin!= NULL){
         printf( "%d\t",begin->value);
         begin=begin->next;
    }
         
}
int main()
{
    ListNode *head = NULL;
    head = creat(head);
     //printf("%p",head1);
    print(head);
}

你可能感兴趣的:(C语言创建链表)