globale Struktur in anderem Modul verwenden



  • Ich habe in einem meiner C Module die folgende Struktur:

    typedef struct		// Playerinfos Gesamt
    {
    	char* playname;	// Feld für die Spielernamen
    	int gkills;	// Gesamtzahl der Kills
    	int gdeaths;	// Gesamtzahl der Deaths
    	float skill;	// Kills/Death
    }plyinfo;
    

    und lege ein Feld von 100 Strukturen an:

    plyinfo gamer[100];
    

    In einem anderen Modul will ich auf die Komponenten zugreifen. Wenn ich

    extern plyinfo;
    

    schreibe kommt die Fehlermeldung das bei

    gamer[m].playname=(char*)malloc(strlen(vNameBuf));	// Speicher ausfassen
    

    der Linke Wert eine Struktur/Klasse sein müsse und wenn ich

    extern plyinfo gamer[100];
    

    schreibe, kommt der Fehler, dass vor gamer[100] das Semikolon fehlt.

    Wie kann ich die Struktur richtig einbinden?



  • typedef struct        // Playerinfos Gesamt 
    { 
        char* playname;    // Feld für die Spielernamen 
        int gkills;    // Gesamtzahl der Kills 
        int gdeaths;    // Gesamtzahl der Deaths 
        float skill;    // Kills/Death 
    }plyinfo;
    

    Muss in eine Header, die von den beiden *.c Dateien eingebunden wird.
    Dann sollte auch "extern plyinfo gamer[100];" funktionieren.


Anmelden zum Antworten