Tabelle "global" bekannt machen
-
Hallo
ich habe folgende Tabelle:
char tab_ses[][9] ={
"04 29",
"05 33",
"06 33",
"07 24",
"08 39",
"09 39",
"10 39",
"11 26",
"19 26",
"ENDE " };Die brauche ich in mehreren Funktionen. Wie muss das definiert sein? Wenn ich die in eine Header-Datei schreiben, kommt eine Fehlermeldung.
Vielen Dank
cu
George
-
Du brauchst sie in mehreren Funktionen? Oder eher in mehreren *.cpp Dateien?
Im letzteren Falle mach dich mal über das Schlüsselwort extern schlau.
Man sollte keine Sachen in Header dateien definieren. Lediglich deklarieren.
-
Ich habe die Tabelle jetzt in eine Header-Datei gepackt und als const deklariert:
const char tab_ses[][9] ={
"04 29",
"05 33",
"06 33",
"07 24",
"08 39",
"09 39",
"10 39",
"11 26",
"19 26",
"ENDE " };Der Compiler (MS C++) meckert nicht. Und es geht auch. Ich kann auf die Tabelle zugreifen, nachdem ich die Header-Datei included habe. Oder sollte man das so nicht machen (bitte Begründung) bzw. ist das nicht C-Standard?
Vielen Dank
cu
George
-
also eigentlich sind wir hier in nem C und nicht in nem C++ thread. deshalb zeig ich mal wie's in C geht.
in die .c datei kommt
char tab_ses[][9] = { "04 29", "05 33", "06 33", "07 24", "08 39", "09 39", "10 39", "11 26", "19 26", "ENDE " };
das darf aber nur in einer .c datei stehen. wenn du es in mehreren .c dateien definierst nörgelt der linker.
in die .h datei kommt
extern char tab_ses[][9];
klappt aber auch in C++