您的位置首页百科问答

c语言怎么使用链表

c语言怎么使用链表

的有关信息介绍如下:

c语言怎么使用链表

vs2017下使用链表。C语言。

新建一个Student结构体,两个成员变量:一个是num存放数据,一个是值next指针,指向下一个结构体。

定义头节点和三个子节点。

为每个节点分配内存空间。包括头节点。

给每个子节点赋值。头结点不需要。

依次链接起来。

定义指针p,指向链表头。

循环打印每个节点的num值。

释放内存。malloc了就要free。

完整代码:

#include

#include

//定义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;

}