[c]Speicherfreigabe bei dynamischen Speicherverwaltung

Padawan

Erfahrenes Mitglied
Hallo zusammen,

habe zwei dateien erstellt:

einmal datastructure.h
C:
typedef struct _TTime
    {
        int stunden;
        int minuten;
        int sekunden;
    } TTime;


    typedef struct _TSong
    {
        char *titel;
        char *interpret;
        TTime dauer;
        struct _TSong *next;
        struct _TSong *prev;
    } TSong;


typedef struct _TCD
    {
        char *titel;
        char *interpret;
        int boolSameInterpret;
        int releaseYear;
        int nrTracks;
        int gesamtStunden;
        int gesamtMinuten;
        int gesamtSekunden;
        TSong songs[MAXSONGS];
        struct _TCD *next;
        struct _TCD *prev;
    } TCD;

und tools.c
C:
void memFree()
{
    int j;

    for (j = 0; j < TCD->nrTracks; j++) /* TODO: Same interpret */
            {
                j+1;
                free(TCD->titel[j]);
                free(TCD->interpret[j]);
                free(TCD->songs[j].titel);
                free(TCD->songs[j].interpret);
                free(TCD->songs[j]);
                free(TSong->interpret[j]);
                free(TSong->titel[j]);
            )
}

in dem ich die Variablen "Freigeben möchte", die im Umfang eines Projekts eingesetzt werden. bekomme jedoch Fehlermeldungen, mit denen ich kaum etwas anfangen kann:


In function 'memFree':|
5|error: expected expression before 'TCD'|
6|warning: statement with no effect|
7|error: expected expression before 'TCD'|
8|error: expected expression before 'TCD'|
9|error: expected expression before 'TCD'|
10|error: expected expression before 'TCD'|
11|error: expected expression before 'TCD'|
12|error: expected expression before 'TSong'|
13|error: expected expression before 'TSong'|
 
Zuletzt bearbeitet:
Hallo,

und wo werden die Variablen zu den in ' datastructure.h' vorhandenen Datenstrkturen erzeugt? Zu einem 'free' gehört irgendwann vorher auch ein 'malloc' und 'typedef struct' erzeugt keinen Daten und kann deshalb so wie in deinem Code nicht verwendet werden.

Gruß
MCoder
 
Zurück