Проблема в том, что BHCreate
отсутствует return heap;
в качестве окончательного утверждения. Это должно выглядеть так:
BHNode BHCreate()
{
BHNode heap;
int i;
heap=malloc(maxelem*sizeof(struct node));
for (i=0; i<maxelem; i++) {
heap[i].data=NIL;
heap[i].priority=NIL;
}
return heap;
}
Вы должны включить предупреждения компилятора, чтобы обнаружить такие вещи:
$ gcc main.c -Wall -Wextra
main.c: In function ‘BHCreate’:
main.c:26:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^