Struktur in einer Funktion?

Hallo,

ich habe ein C+±Programm geschrieben, das eine Struktur beinhaltet. Im Hauptprogramm wird eine Variable als Array der der Struktur definiert und eine Funktion aufgerufen, die die Struktur füllen soll.
In der Funktion, die ich dann aufrufe, soll jeweils ein Satz meiner Variable gefüllt werden. Leider bekomme ich dabei eine ganze Reihe Fehlermeldungen, die alle darauf hinauslaufen, daß er die Variable nicht kennt.
Kann es wirklich sein, daß eine im Hauptprogramm definierte Variable in einer Funktion nicht erkannt wird? Ich bin mir sicher, ansonsten keine Fehler im Prog zu haben.

MfG
Julia

Hallo Julia,

es wäre ganz gut, wenn Du die Fehlermeldungen und etwas von Deinem Code posten könntest.

Gruß Patrick

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Julia,

wie übergibst Du denn die Variable der Funktion? Als Pointer oder direkt? Wo ist die Struktur definiert und wo liegt die Funktion, die die Variable füllen soll (in einer anderen Datei)?

Gruss,

Herb

Hallo Herb,
die Variable soll global sein, und soweit ich weiß, sind doch alle Variablen, die im „Hauptprogramm“ deklariert werden, global, oder?
Die Struktur ist direkt nach den Define-Klauseln definiert. Alles in einer Datei, denn es ist nur ein Mini-Programm. Den Quellcode habe ich leider momentan nicht da, das würde erst morgen was werden…

Hi Julia,

global sind in Deinem Fall nur Variablen, die ausserhalb aller Funktionen (auch der main()-Funktion) deklariert werden. Wenn Du Deine Variable in der main()-Funktion deklarierst und dann in einer anderen Funktion darauf zugreifen willst, dann kennt diese Funktion die in der main() Funktion deklarierte Variable nicht. Wenn Du die Variable ausserhalb aller Funktionen deklarierst, dann ist sie in dem ganzen Modul (allen Funktionen in der Datei) global, das heisst, alle Funktionen dieser c-Datei können darauf zugreifen.

Ach ja, ich hab jetzt einfach mal angenommen, dass Du die main()-Funktion als Hauptprogramm bezeichnest.

Hat das geholfen? Wenn nicht, dann schick doch einfach morgen mal den Code.

Ciao,

Herb

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Herb,

ganz vielen lieben Dank, damit hat es jetzt tatsächlich geklappt!

MfG
Julia