首页 > 解决方案 > 核心转储分段错误 - 访问不在地址 0x0 的映射区域内

问题描述

所以我在尝试运行我的程序时遇到了一个奇怪的错误(你在那里看到的函数以及 Node 和 LinkedList 都在一个单独的文件中并且可以正常工作。显然这里有一些指针正在运行,我真的会感谢一些帮助修复我的核心转储错误!

这是我编写的文件中的代码:

void insertion_sort(LinkedList *list, int (*compare)(void *, void *)) {

LinkedList *sorted; 
sorted = initialise_linked_list();

append_linked_list(sorted, list->head->data);
remove_head_linked_list(list);

while(list->tail != NULL){

    Node *b;
    b = initialise_node();
    sorted->head = b;   

    while(b){

        int num;
        num = strcmp(list->head->data, b->data); 
        if(num < 0){

            prepend_linked_list(sorted, list->head->data);
            remove_head_linked_list(list);
        }

        b = b->next;
    
    }
    
    if(!b){

    append_linked_list(sorted, list->head->data);
    remove_head_linked_list(list);

    }

}

free_linked_list(list);
print_linked_list(sorted, print_string);    

}

标签: cpointers

解决方案


推荐阅读