我有以下功能
void printLinkedList(struct node *head) {
printf("%d-->", head->data);
while(head->ptr != NULL) {
head = head->ptr;
printf("%d-->", head->data);
}
printf("NULL\n");
}
我想打印以下列方式构造的链表的内容:
for (int i = 0; i < 10; i++) {
head->data = i+1;
head->ptr = malloc(sizeof(struct node));
head = head->ptr;
}
所以理想情况下,这应该给我类似的东西:
1-->2-->3-->4-->...-->10-->NULL
但是,如果一切都正确,valgrind 会给我内存错误。请告诉我我做错了什么。