Segmentation fault при вызове malloc - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Щас создавал модуль на Си для работы со списком, думал минутное дело, за 40 мин накатал и уже почти час не могу понять почему выдает Segmentation fault при вызове malloc в функции Create, объясните пожалуйста, вот фрагменты кода:
typedef int T;
 
struct Item {
    struct Item* prev;
    struct Item* next;
    T data;
};
 
typedef struct {
    struct Item* node;
} Iterator;
 
typedef struct {
    struct Item* head;
    int size;
} List;
 
void Create (List* l) {
    printf ("111\n");
    l->head = malloc (sizeof (struct Item)); /* ИМЕННО ЗДЕСЬ ВЫЛЕТАЕТ С Segmentation fault */
    printf ("--\n");
    l->head->next = l->head->prev = l->head;
    l->size=0;
}
Не забываю говорить спасибо)

Решение задачи: «Segmentation fault при вызове malloc»

textual
Листинг программы
List* list = malloc (sizeof (List));

Объяснение кода листинга программы

  1. В коде выделяется память под список (List*) с помощью функции malloc.
  2. В качестве размера списка передается значение sizeof(List), которое представляет собой размер памяти, необходимой для хранения одного элемента списка.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы