在C语言中为链表头部分配空间,可以通过以下步骤实现:
struct Node {
int data;
struct Node* next;
};
malloc
函数来动态分配内存空间。例如:struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
malloc
函数将返回NULL
。因此,可以使用条件语句来检查分配是否成功。例如:if (newNode == NULL) {
printf("内存分配失败");
return;
}
newNode->next = head;
其中,head
是指向链表头节点的指针。
head = newNode;
这样,新节点就成为了链表的新头节点。
完整的代码示例:
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node* next;
};
void insertAtBeginning(struct Node** head, int newData) {
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
if (newNode == NULL) {
printf("内存分配失败");
return;
}
newNode->data = newData;
newNode->next = *head;
*head = newNode;
}
int main() {
struct Node* head = NULL;
insertAtBeginning(&head, 10);
insertAtBeginning(&head, 20);
insertAtBeginning(&head, 30);
struct Node* current = head;
printf("链表的元素:");
while (current != NULL) {
printf("%d ", current->data);
current = current->next;
}
return 0;
}
这段代码演示了如何在C语言中为链表头部分配空间,并在头部插入新节点。输出结果为:
链表的元素:30 20 10
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云