На сишке падение программы

Рейтинг: -1Ответов: 1Опубликовано: 16.09.2014

При обращении к элементу структуры (при сравнении его с NULL) происходит завершение программы. Чем можно починить?

 if(head->key==NULL)ПолетПрограммы();

А да, struct stName* head;

void add(int h, struct bin* head){
    if(h > head->key){
        if(head->smallest==NULL){
            head->smallest=malloc(sizeof(struct bin));
            head->smallest->key=h;
            head->smallest->biggest=NULL;
            head->smallest->smallest=NULL;
        }
        else add(h, head->smallest);
    }
}

Не забывайте инициализировать переменные. У меня не была инициализирована ссылка, и поэтому все летело. После подстановки аперсанда программа ушла гулять по оперативной памяти, скушав много процессорного времени.

Ответы

▲ 1Принят

Проверьте, что head (а это указатель) не указывает в NULL. Если дело не в этом, то дайте пример кода.