1 #include <stdio.h> 2 #include <stdlib.h> 3 4 5 //定义链表结点结构 6 typedef struct ListNode 7 { 8 int data;//数据域 9 struct ListNode*link;//链接域-指针域 10 }Lnode; 11 12 //bool InitList(Lnode &L) 13 //{ 14 // 15 //} 16 17 //创建一个有三个节点的链表 18 Lnode *Creat3() 19 { 20 //声明三个节点 21 Lnode *first, *second, *third; 22 //给三个节点分配内存空间 23 first = (Lnode *)malloc(sizeof(Lnode)); 24 second = (Lnode *)malloc(sizeof(Lnode)); 25 third = (Lnode *)malloc(sizeof(Lnode)); 26 27 //third为最后一个指针,所以指向NULL,后面是没有指针和元素的 28 third->link = NULL; 29 third->data = 30; 30 31 second->link = third; 32 second->data = 20; 33 34 first->link = second; 35 first->data = 10; 36 37 //创建完毕,返回第一个节点 38 return first; 39 } 40 41 42 43 int main() 44 { 45 Lnode* List = Creat3(); 46 47 //打印第一个结点的数据域 48 printf("%d,", List->data); 49 50 //打印第二个结点的数据域 51 printf("%d,", List->link->data); 52 53 //打印第三个结点的数据域 54 printf("%d", List->link->link->data); 55 56 57 getchar(); 58 return 0; 59 }