如何为一个新的链表结点分配内存
时间: 2024-05-08 17:14:56 浏览: 9
为一个新的链表结点分配内存,可以使用C语言中的malloc函数。malloc函数可以分配指定字节数的内存空间,并返回该空间的首地址。
下面是一个示例代码,创建一个新的链表结点并分配内存:
```c
struct ListNode {
int val;
struct ListNode *next;
};
struct ListNode* createNode(int val) {
struct ListNode* node = (struct ListNode*)malloc(sizeof(struct ListNode));
node->val = val;
node->next = NULL;
return node;
}
```
在这个示例中,createNode函数接收一个整数参数val,用于创建一个新的链表结点。函数首先调用malloc函数来分配内存空间,此处分配的空间大小为结构体ListNode的大小。然后,函数将val赋值给新的结点的val成员,并将next成员设置为NULL。最后,函数返回新的结点的指针。
调用createNode函数可以创建一个新的链表结点,并将其插入到链表中,示例如下:
```c
struct ListNode* head = NULL;
struct ListNode* node = createNode(1);
head = node;
node->next = createNode(2);
node = node->next;
node->next = createNode(3);
```
在这个示例中,我们首先定义了一个指向链表头结点的指针head,并将其初始化为NULL。然后,我们创建一个新的结点node,并将其赋值给head,成为链表的头结点。接着,我们创建一个新的结点,并将其设置为node的下一个结点,最后再创建一个新的结点,并将其设置为node的下一个结点,这样就构建了一个包含三个结点的链表。