Zweidimensionales Array

OP #3677904
Lesenswert?
• ▲
▼
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 :)
#3677912
Lesenswert?
• ▲
▼
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
#3677922
Lesenswert?
• ▲
▼
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.
#3677928
Lesenswert?
• ▲
▼
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.
Gast #3677943
Lesenswert?
• ▲
▼
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.