Gast
#568187
Hallo, werden globale Variablen, die nur für ein Modul gültig sind, in die Header-Datei oder die .c-Datei des Moduls gesteckt?
|
Anzeige
|
Globale Variablen in Header-Datei?
Gast
#568187
Hallo, werden globale Variablen, die nur für ein Modul gültig sind, in die Header-Datei oder die .c-Datei des Moduls gesteckt? "Globale Variablen, die nur für ein Modul gültig sind" - Könnte es sein, daß Du Variablen meinst, die allen Funktionen innerhalb eines Moduls zugänglich sein sollen, aber Funktionen außerhalb des Modules verborgen bleiben sollen? Das sind keine globalen Variablen, sondern statische Variablen, die außerhalb von Funktionen deklariert/definiert werden. Sie gehören nicht in eine Headerdatei, sondern in die C-Sourcedatei des Modules. > Das sind keine globalen Variablen, sondern statische Variablen, die > außerhalb von Funktionen deklariert/definiert werden. > > Sie gehören nicht in eine Headerdatei, sondern in die C-Sourcedatei des > Modules. Das mag jetzt ev. ein bischen untergegangen sein: Sie werden als 'static' definiert. Genauso wie Funktionen, die nur innerhalb dieses Moduls sichtbar sein sollen. xyz.c *****
Halte dich an die einfache Regel: In das Header File kommt alles, was ein potentieller Aufrufer wissen muss, um Funktionen aus dem zugehörigen Source Code File aufrufen zu können. Alles andere, was ausser dem Source Code File niemanden was angeht, kommt ins Source Code File und wird so abgeschottet, dass es ausserhalb nicht sichtbar ist.
Gast
#568253
Ah danke. Kannte static bisher nur für lokale Variablen, insofern dass die lokale Variable dann nicht bei jedem Funktionsaufruf neu initialisiert wird. Antwort schreiben |
Anzeige
|