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.