1、新建一个Student结构体,两个成员变量:一个是num存放数据,一个是值next指针,指向下一个结构体。
2、定义头节点和三个子节点。
3、为每个节点分配内存空间。包括头节点。
4、给每个子节点赋值。头结点不需要。
5、依次链接起来。
6、定义指针p,指向链表头。
7、循环打印每个节点的num值。
8、释放内存。malloc了就要free。
9、完整代码:#include <stdio.h>#include <stdlib.h>//定义Student结构体struct Student{ int num; struct Student *next;};int main(){ //定义头结点 struct Student *head; //定义p1,p2,p3子节点 struct Student *p1, *p2, *p3; //给头节点和子节点分配内存 //头结点不能用head=NULL,vs2017下报错。 head= (struct Student*)malloc(sizeof(struct Student)); p1 = (struct Student*)malloc(sizeof(struct Student)); p2 = (struct Student*)malloc(sizeof(struct Student)); p3 = (struct Student*)malloc(sizeof(struct Student)); //每个子节点赋值,初始化。 p1->num = 100; p2->num = 200; p3->num = 300; //链接起来 head->next = p1; p1->next = p2; p2->next = p3; p3->next = NULL; //定义指针p指向链表头 struct Student *p = head; //循环输出 while(p->next!=NULL) { //移到下一个节点,head->没有内容,空的。 p = p->next; //现在是p1节点,打印p1中num的内容。。。。。p2 ....p3以此循环 printf("%d\n",p->num); } //释放节点内存 free(head); free(p1); free(p2); free(p3); return 0;}