c语言L->next=p;是什么意思

2024-12-16 06:08:31
推荐回答(5个)
回答1:

L->next = p; 表示将变量p赋值给结构体指针L所指的next变量。一般多用于链表、队列和堆栈等。


举例说明如下:(以链表为例)

// 定义链表结点
typedef struct node
{
    int data;  // 数据域
    struct node *next;  // 指针域
}linklist

linklist *head=(linklist *)malloc(sizeof(linklist));  // 创建一个链表头结点
linklist *p1=(linklist *)malloc(sizeof(linklist));  // 创建一个链表结点
linklist *p2=(linklist *)malloc(sizeof(linklist));  // 创建一个链表结点
p1->data = 1;  // 对结点p1的数据域进行赋值
p2->data = 2;  // 对结点p2的数据域进行赋值
head->next = p1;  // 将结点p1连接在头结点之后
// (此处的head->next = p1类似于L->next = p的意思)
p1->next = p2;  // 将结点p2连接在p1结点之后
p2->next = NULL; // p2为尾结点

// 经过上面的操作之后,就建立了一个链表head->p1->p2

回答2:

L->next=p,这是结构体里的,“->”是指向运算符,L->next的意思是L指向一个结构体变量的成员next,而L->next表示一个指针(即地址),结构体变量的成员next的地址,L->next=p的意思就是将p的地址赋给它,这个在链表中是常用的

回答3:

L是个结构体,next是结构体的一个成员,这个是把p的值赋给next

回答4:

l的下一个节点指向p

回答5:

p接到L的后面