#include <stdio.h>
 #include <stdlib.h>
 //链表中节点结构
typedef struct Link
 {   int elem;
     struct Link *next;
 }link;
 link * initLink();
 void Display(link *p);
 int _tmain(int argc, _TCHAR* argv[])
 {
    printf("初始化链表:\n");
    link *p=initLink();
    Display(p);
    system("pause");
     return 0;
 }
 link *initLink()
 {
     link *p=0;//创建头指针
     link *temp=(link*)malloc(sizeof(link));//创建首元节点
     //首元节点先初始化
     temp->elem=1;
     temp->next=0;
     p=temp;//头指针指向首元节点
     for (int i = 0; i < 10; i++)
     {
       link *a=(link*)malloc(sizeof(link));
       a->elem=i;
       a->next=0;
       temp->next=a;
       temp=temp->next;
     }
     return p;
 }
 void Display(link*p)
 {
     link *temp=p;//将temp指针重新指向节点
     //只要temp指针指向的节点的next的next不是null,就执行输出语句
     while(temp)
     {printf("%d ",temp->elem);
      temp=temp->next;
     }
 }










