Hey ich hab es leider in keiner Beschreibung gefunden.
Ich möchte ein zweidimensionales Array mit Daten beschreiben. (immer die
gleichen) aber nicht bei der deklaration.
also in meiner .h datei steht dann
char temp_array[35][1];
und jetz möchte ich meine daten reinschreiben mit.
temp_array = {
{-40,497},
{-35,647},
{-30,829},
{-25,1049},
{-20,1308},
{-15,1607},
{-10,1948},
{-5,2331},
{0,2749},
{5,3195},
{10,3663},
{15,4146},
{20,4633},
{25,5115},
{30,5586},
{35,6036},
{40,6461},
{45,6858},
{50,7224},
{55,7558},
{60,7861},
{65,8128},
{70,8366},
{75,8579},
{80,8767},
{85,8933},
{90,9079},
{95,9208},
{100,9322},
{105,9422},
{110,9509},
{115,9586},
{120,9655},
{125,9714},
{255,0},
};
irgendwie tut das nur wenn ich:
char temp_array = {
{-40,497},
{-35,647},......
schreib, aber damit ist das array nur in meiner Funktion verfügbar und
nicht im ganzen Programm.. hilfe :)
Mathias K. schrieb: > irgendwie tut das nur wenn ich: Glaube ich nicht... Aber ansonsten ist das in C halt so. Schreib mal in deine .h Datei:
1 | extern char temp_array[35][2]; |
und in deine .c-Datei außerhalb jeder Funktion
1 | char temp_array[35][2] = { |
2 | {-40,497}, |
3 | {-35,647},...... |
Etwas später wirst du dann herausfinden, daß das zwar kompiliert, aber nicht macht, was du willst. Der Wertebereich eines char ist halt begrenzt. All das und noch viel mehr sollte aber in deinem C-Buch stehen. Oliver
Eigentlich müsste Dein Compiler mindestens zwei Fehlermeldungen ausgespuckt haben, die eine betrifft die Dimension des Feldes, die andere den verfügbaren Wertebereich der Elemente. Das sollten wir erst einmal klären bevor wir über Sichtbarkeit reden.
Welchen Wertebereich hat dein ein char auf deinem System? Passen da Werte wie 255 oder gar 497 rein? Auf einmal kann man ein Array nur bei der Definition initialisieren. Und du must dir nochmal die Bedeutung der Werte (für die Dimension) bei der Definition und beim Zugriff ansehen.
ja das
char temp_array[35][2] = {
{-40,497},
{-35,647},......
geht nur in der .c datei in einer Funktion, aber ich möchte auf das
Array global zugreifen
Die erste Frage ist doch, wie du Werte von beispielsweise "-40,497" in einem Char unterbringen willst. Darauf bist du noch gar nicht eingegangen. Anschließend nach der Wahl des richtigen Datentyps kann man dann mit solchen Sachen wie Sichtbarkeiten weitermachen.
Deswegen definierst du es global (außerhalb jeder Funktion) in einer .c-Datei und deklarierst es in allen anderen als extern. Und damit du das nicht jedesmal schreiben musst, machst du das in einer .h-Datei, die du dann in den .c-Dateien einbindest
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.