Mam strukturę zdefiniowaną następująco:
#include <stdio.h>
#include <stdlib.h>
struct Node
{
int licznik;
char* slowo;
struct Node* mniejsze;
struct Node* wieksze;
};
typedef struct Node* Tree;
A potem taką funkcję main(nie zwracajcie uwagi na funkcje):
int main(int argc, char *argv[])
{
int top=0;
if(argc>1)
{
for(int i=0; argv[1][i]!=0; i++)
{
top=top*10+(int)argv[1][i]-48;
}
}else{top=100;}
Tree* najczestsze=malloc(top*sizeof(Tree));
for(int i=0; i<top; i++){najczestsze[i]=NULL;}
Tree* ptr;
*ptr=NULL;//!!!!!!!!!!!!
char slowo[50];
while(scanf("%s", slowo)!=EOF)
{
konwersjanaslowo(slowo);
wstaw(slowo, ptr, najczestsze, top);
}
wypisz(najczestsze, top);
zwolnij_drzewo(ptr);
free(najczestsze);
return 0;
}
Wszystko ładnie się kompiluje(MinGW), ale podczas działania programu wyskakuje mi błąd. Empirycznie sprawdziłem, że chodzi o linijkę zaznaczoną wykrzyknikami. Dlaczego ten błąd występuje?