in Header-File definiertes Array in main nicht sichtbar

RuditheKranich

Mitglied
Thread Starter
Dabei seit
10.01.2009
Beiträge
93
Reaktionspunkte
1
Hi Leute,

das Thema ist eigentlich gar nicht mac lastig. Ich formuliere es trotzdem mal. Vielleicht hat ja jemand einen Vorschlag für ein gutes C-Forum?
Ich habe ein Header-File geschrieben, das eine Funktion zur Array-Initialisierung enthält.
In dem Hauptprogramm gibt man die Anzahl der Elemente an. Die Funktion wird dann mit dieser Zahl aufgerufen.
Ich weiß nicht wieso, aber die Array-Definition habe ich aus dem Hauptprogramm in die Heider-Datei gezogen. Ich wollte das Hauptprogramm so kurz wie möglich halten.
Zum Problem:
Eine Ausgabe des Array im Hauptprogramm mittels printf ist nicht möglich, da die main-Funktion das Array wohl nicht kennt.
Wenn ich das Array im Hauptprogramm definiere (die Funktion entsprechend umschreibe), geht natürlich alles.
Meine Frage:
Wieso kennt die main-Funktion das Array nicht? Durch die Definition des Arrays im Header-File müsste es doch global für alle folgenden Funktionen nutzbar sein, oder?
Vielen Dank im Voraus.
 
Hallo,

ich verstehe es nicht ganz, wie Du es implementiert hast, aber schaue Dir mal das Schlüsselwort "extern" an…

Viele Grüße
 
Wenn ich von einer Header-Datei spreche, sei vorausgesetzt, dass es die Dateien header.h und header.c gibt. In erster erfolgen natürlich Deklarationen mittels extern und in letzter Definition (hier: int array[SIZE]).
 
Wieso kennt dann die main-Funktion in der Datei main.c den Bezeichner "array" nicht?
 
Möchtest Du eine Diskussion oder reflektierst Du nur über Deine täglichen Erfahrungen?
Falls ersteres der Fall sein sollte, poste doch einfach main.c, header.h und die compiler Ausgabe.
Dein Schreibstil wird Dir auch nicht in "einem guten C-Forum" weiterhelfen.

Sorry, aber manchmal fass ich mir echt an den Kopf. Es ist Freitag, nicht beleidigt sei.
 
Möchtest Du eine Diskussion oder reflektierst Du nur über Deine täglichen Erfahrungen?
Falls ersteres der Fall sein sollte, poste doch einfach main.c, header.h und die compiler Ausgabe.
Dein Schreibstil wird Dir auch nicht in "einem guten C-Forum" weiterhelfen.

Sorry, aber manchmal fass ich mir echt an den Kopf. Es ist Freitag, nicht beleidigt sei.
Ich finde es gut, dass Du das mal aussprichst!

Genau das gleiche habe ich mir gedacht und deshalb bin ich auch hier wieder sofort raus aus der Sache.
Mit meiner Hilfe ist hier nicht mehr zu rechnen. Neuer Thread neues Glück, aber in diesem spiele ich nicht mehr mit.
So etwas tue ich mir schon seit langem nicht mehr an.

Die Leute haben echt ein Problem.
Als Helfer muss man ihnen nachrennen und Informationen aus der Nase ziehen.
Bzw. als Helfer muss man sich aufdrängeln :D

Wenn ich so etwas lese:

Wenn ich von einer Header-Datei spreche, sei vorausgesetzt, dass es die Dateien header.h und header.c gibt. In erster erfolgen natürlich Deklarationen mittels extern und in letzter Definition (hier: int array[SIZE]).

… dann kommt bei mir hochgradig arrogant und herablassend an " Bist Du blöd, ist doch logisch, dass ich von dem und das rede. Stell Dich nicht so dumm an und sag mir lieber die Lösung".

Einfach zu geil "sei vorausgesetzt" und hat dabei elementare Probleme.
Und wie so oft sind es die einfachsten Sachen, die man selbst übersieht. Aber wer nicht will, der will halt nicht.

Wieso kennt dann die main-Funktion in der Datei main.c den Bezeichner "array" nicht?
Auch so ein Brüller. Was auch immer "array" ist, ohne Code kann das alles sein.
Aber es wird erwartet, dass man das versteht.

Herrlich finde ich auch, dass ich ihm/ihr ein Schlüsselbegriff zum Suchen gegeben habe.
Irgend eine Anmerkung zum "ich habe mich dazu informiert"? Nix!
D.h. die Info nicht mal aufgenommen, aber die Zeit in Kommentare gesteckt.

Viele Grüße
 
Möchtest Du eine Diskussion oder reflektierst Du nur über Deine täglichen Erfahrungen?
Falls ersteres der Fall sein sollte, poste doch einfach main.c, header.h und die compiler Ausgabe.
Dein Schreibstil wird Dir auch nicht in "einem guten C-Forum" weiterhelfen.

Sorry, aber manchmal fass ich mir echt an den Kopf. Es ist Freitag, nicht beleidigt sei.

Full Ack, und gute C Foren gibt es genug. Und es gibt vor allem auch Stackoverflow. Und deine Basic Fragen wurden schon zu hauf von Leuten gestellt, so dass du dir auch einen Haufen Zeit sparst, wenn du einfach selbstständig nach deinem Fehler suchst. Der Compiler gibt eigentlich immer aufschlussreiche Fehlermeldungen.
Und wenn du hilfe willst, genau wie von pmau gesagt, gib und Informationen. Dazu gehört immer der Code und die Fehlermeldung. Das kriegst du auch in jedem anderen Forum zu hören: https://en.wikipedia.org/wiki/Minimal_Working_Example
 
Zuletzt bearbeitet:
Arrogant und herablassend wollt ich nicht klingen. Da hast du wohl was in den falschen Hals gekriegt little_pixel.
Schließen wir den Thread hier.
 
Zurück
Oben Unten