Variablen mit Defaultwerten in einer Header-Datei
-
Hi,
Ich möchte Variablen mit Defaultwerten in einer Header-Datei definieren. Offensichtlich ist dies nicht erlaubt. Gibt's vielleicht Umwege wenn diese Header-Datei trotzdem eingesetzt wird?
Ciao
-
warum sollte das nicht erlaubt sein?
-
Wo auch immer der Sinn ist, Variablen in Headern zu definieren. Dann hat jede *.c Datei, die den Header einbaut ne eigene Variable. Was du wohl machen willst ist: Eine Variable überall nutzbar und das geht so:
main.c
int abc = 20;
header.h
extern int abc;
-
Hi,
ich habe folgendes gemacht und das funktioniert auch:
in main.c:
abc = 20;
in header.h:
int abc;
Was bringt das Wort 'extern' eigentlich?
Ciao
-
senmeis schrieb:
Was bringt das Wort 'extern' eigentlich?
-
senmeis schrieb:
Hi,
ich habe folgendes gemacht und das funktioniert auch:
in main.c:
abc = 20;
in header.h:
int abc;
Was bringt das Wort 'extern' eigentlich?
Ciao
Und jetzt schau dir meinen Post nochmal genau an, erstell ne weitere c Datei, die header.h einbindet und mach printf("%d\n", abc); und was du nicht bekommen wirst ist 20.
-
vielen Dank für die Antworten.
Eines im vorgeschlagenen Beispiel aus dem Link verstehe ich immer noch nicht: Was passiert mit der Variable 'n'?
In der Datei global.h könnten zwei Möglichkeiten entstehen:
EXTERN int n;
oder
extern int n;
Was ist der Unterschied?
Kann man mit 'extern int n' Platz reservieren?Gruss