Das Programm stürzt dauernd ab, ich weiß aber nichr wieso. Keine
Fehlermeldungen, nichts!!!!! Aber was mache ich falsch?
1 | typedef struct entry_s{
|
2 | char songtitle[20];
|
3 | char interpreter[20];
|
4 | } entry_t;
|
5 |
|
6 | typedef struct heap_s{
|
7 | entry_t *entries;
|
8 | long size_s;
|
9 | long next;
|
10 | } heap_t;
|
11 |
|
12 | int main()
|
13 | {
|
14 | heap_t *meinHeap;
|
15 | meinHeap = createHeap(4);
|
16 | strcpy( (*(meinHeap[0].entries)).interpreter, "Martin");
|
17 | deleteHeap(meinHeap);
|
18 | return 0;
|
19 | }
|
20 |
|
21 | void deleteHeap(heap_t *heap){
|
22 | free(heap);
|
23 | if(heap != NULL)
|
24 | heap = NULL;
|
25 | printf("Heap erfolgreich freigegeben!");
|
26 | }
|
27 |
|
28 | heap_t *createHeap(long size_s){
|
29 | heap_t *meinHeap;
|
30 | if( (meinHeap = calloc(size_s, sizeof(heap_t))) == NULL )
|
31 | printf("Fehler Beim Alloziieren von Speicher!\n");
|
32 | else{
|
33 | printf("Speicher erfolgreich alloziiert!\n");
|
34 | return meinHeap;
|
35 | }
|
36 | return NULL;
|
37 | }
|
Hier ist wohl der Fehler verborgen, aber ich finde ihn nicht:
1 | strcpy( (*(meinHeap[0].entries)).interpreter, "Martin");
|