Strukturen global oder lokal?



  • Hallo!
    Ich habe eine prinzipielle Frage zu meinem fertig geschriebenen Programm.
    Zur Dateiarbeit und dem Spiel an sich habe ich eine ganze Menge von Strukturen erstellt, und diese alle in eine Headerdatei geschrieben. Jetzt muss ich am Ende feststellen ,dass wir keine globalen Variablen verwenden dürfen, da dies ein schlechter Stil wäre. Nun möchte ich wissen, ob das wirklich ein guter Stil ist die Strukturen jedesmal in einer Funktion neu zu beschreiben? Oder gelten Strukturen nicht als globale Variablen?



  • Jetzt frage ich mich: hast Du globale Variablen oder nicht?

    Natürlich deklarierst Du Deine struct s in Headerfiles - aber Objekte dieser struct s definierst Du dort nicht.



  • Strukturen sind keine Variablen, sie belegen keinen Speicher.
    Strukturen kreieren in einem Namensraum einen neuen Typ mit einem Namen, und gehören demzufolge auch meistens in Header.



  • Oh da bin ich ja beruhigt.Also Strukturvariablen gehören wohl da nicht in die Headerdatei. Gilt das auch für typedef?



  • Ja Nein. Man kann das, was Wutz zu structs gesagt hat, genauso zu typedefs sagen.

    EDIT: Textverständnis



  • Er fragt ob für typedefs das selbe gilt wie für Strukturvariablen, und du antwortest "ja, für typedefs gilt das selbe wie für structs" (sinngemäss).
    Huch?
    Die Antwort muss heissen: "nein, für typedefs gilt das selbe wie für structs".



  • Huch! Ja hast natürlich Recht. Hab das "Gilt das auch für typedef?" gedanklich dem Beitrag von Wutz zugeordnet.

    EDIT: Ursprünglicher Beitrag berichtigt


Anmelden zum Antworten