Wie kann ich auf Konstanten, die in einer externen Datei xy.c definiert sind mit meiner main Funktion zugreifen? Beispiel: Externe Datei: xy.c: #define TEMP 1 Und in der Main Datei main.c: int main(void) { int x; x = TEMP; Return 0; } Als Fehler wird TEMP als nicht deklariert gemeldet. Hat jemand eine Idee, da ich mich mit C noch nicht so gut auskenne.
> Wie kann ich auf Konstanten, die in einer externen Datei xy.c definiert > sind mit meiner main Funktion zugreifen? Wenn du sie vor der main()-Funktion als extern deklarierst, ja. > Externe Datei: > xy.c: > #define TEMP 1 Das ist keine Variable, sondern ein Präprozessor-Makro. Das mußt du in einen Header schreiben, also z.B. xy.h: #define TEMP1 dann dort, wo main() definiert ist: #include "xy.h"
Funktioniert immer noch nicht: Beispiel: Externe Datei: xy.c: extern int temp 12; Und in der Main Datei main.c: int main(void) { int x; x = temp; Return 0; }
> Externe Datei: > xy.c: > extern int temp 12; Das stimmt so auch nicht. "extern" heißt, daß es irgendwo anders definiert ist. Abgesehen davon fehlt ein '='. Du müßtest dann schreiben: xy.c: int temp = 12; xy.h: extern int temp;
Rolf Magnus wrote: > xy.c: > > int temp = 12; > > xy.h: > > extern int temp; Das ist keine Konstante, sondern eine Variable. Eine Konstante mußt Du im h-File per #define anlegen und dann dieses File überall includieren, wo Du die Konstante brauchst. Peter
Was man per #define anlegt, sind keine Konstanten, sondern Präprozessor-Makros.
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.