Hallo, wie und wo muss ich eine Variable deklarieren, dass sie global auf Datei ebene verfügbar ist. Erklärung: In der Datei usart.c wird die variable i manipuliert. In der Datei main.c möchte ich die Variable i abfragen.
Am besten machst du das so: global.h ******** extern int i; // der Name i, ist schlecht nimm was anderes // Abgesehen davon: // das extern sagt dem Compiler, dass es irgendwo // eine Variable namens 'i' gibt, und dass die // vom Typ int ist. usart.c ******* #include "global.h" // durch den include hier, wird die extern // Deklaration eingebracht. // Ab jetzt weiss der Compiler, dass es ein i // gibt welches vom Typ int ist void foo() { i = 5; } main.c ****** #include "global.h" int i; // und hier ist i tatsaechlich. In voller Pracht // Der vorhergehende include ist zwar nicht not- // wendig, hilft aber manchmal Fehler abzufangen. // zb. wenn du in global.h das i zu einem float // umwandelts, hier aber darauf vergisst und nach // wie vor i als int definierst. int main() { i = 7; // dieses i und das in uart.c sind ein und dieselbe // Variable }
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.