Forum: Mikrocontroller und Digitale Elektronik element aus mehrdimensionalen array in Variable schreiben


von Markus S. (e-moler)


Lesenswert?

hoi Zämä

ich habe da ein Problem mit einem zweidimensionalen Array!

zur Info: es ist ein unsigned char-Array, das ding ist 5x30 groß.
   abgelegt im code-bereich vom LPC 936.
   ich arbeite mit KEIL µVision3
   mein problem: wenn ich richtig informiert bin greife ich wie folgt 
auf
   ein element im Array zu:
   Arrayname[X][Y] = 0xEE;
   so wird das XYte Element mit 0xEE beschrieben.

jetzt möchte ich in eine Variable ein Element aus dem Array auslesen:
   Variable = Arrayname[X][Y];

in meinen Büchern so wie auch auf diversen Internetseiten habe ich nur 
das beschreiben, nicht aber das auslesen gefunden.
nach einer gewissen Logick müsste der lesende Zugriff doch ungefähr so 
von statten gehen, dachte ich!

nochmal zu anschauen:
...
Variable = Arrayname[X][Y];
...

das dumme ist nur das dann folgende Fehlermeldung auftaucht:

             error 141: syntax error near 'Arrayname'

aber warum nur???

wenn jemand das weis dann wäre das super toll!
mercy!

von Uhu U. (uhu)


Lesenswert?

Poste doch mal den gesamten Quelltext (als Anhang!) -- so kann man 
leider nur das Orakel befragen...

von Thomas S. (thomass)


Lesenswert?

Hast Du das Array richtig definiert?
Wenn es in einem anderen C-File ist musst Du es per include 
(H-File)bekannt machen.
Ansonsten hat mein Vorredner recht Quelltext her ;-).

Thomas

von Markus S. (e-moler)


Angehängte Dateien:

Lesenswert?

ok freunde ich häng den Quelltext an!
das Unterprogramm >messung< habe ich ganz oben hinkopiert
und darunter nochmal alles inclusive Unterprogram messung!

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Man man man... Quelltext als .txt anhaengen. Jetzt hast das File 
umgestellt und somit kann Dir auch keiner Mehr sagen wo der Folgefehler 
herkommt. Ausserdem sieht der Code aus wie Kraut und Rueben, sorry.

von HildeK (Gast)


Lesenswert?

Deine Variable TAGESSATZ ist ein Struct mit nur einem Element - und kein 
zweidimensionales Feld.
Außerdem habe ich keine Definition von Adresse gesehen.

Ansonsten geht es natürlich so, wie du meintest:
   Variable = Arrayname[X][Y];

von Markus S. (e-moler)


Angehängte Dateien:

Lesenswert?

aha ok werd ich überprüfen!
mercy!

von Uhu U. (uhu)


Lesenswert?

Ich würde eher sagen, daß es ein typedef ist und keine Variable...

von Gast (Gast)


Lesenswert?

Du hast TAGESSATZ als Typ definiert
und willst darauf zugreifen?

von Markus S. (e-moler)


Lesenswert?

ou je ja ich habs gesehen!
krass das ihr das so flux findet! ich bin schon total Quelltextblind!
und tschudigung wegen dem RübensalatQuelltext! ich sitz schon seit 
langer Zeit daran und bin nicht wirklich der Superheld was Programmieren 
angeht doch bemühe mich redlich!

von HildeK (Gast)


Lesenswert?

@Uhu Uhuhu
Tja, du hast natürlich recht; ich muss mich wohl zu Kommentaren bei 
C-Problemen etwas zurückhalten ...

von Markus S. (e-moler)


Lesenswert?

so muss das ding glaub heisen denn jetzt bekomm keine errors mehr!

  Adresse = speicherNummer[ZNr][zTag];

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Sorry dass ich so explodiert bin, aber ich bekomm bei sowas manchmal die 
Motten ;) Ich muss beruflich oft Code von anderen durchforsten, deswegen 
haben wir da so Style-Konventions und es ist "hoeflich" seinen Code 
leserlich und sauber zu schreiben, vor allem, wenn ihn andere lesen 
sollen. Nur so als Gedanke zum Nachdenken.

Michael

von Uhu U. (uhu)


Lesenswert?

Michael G. wrote:
> Sorry dass ich so explodiert bin, aber ich bekomm bei sowas manchmal die
> Motten ;) Ich muss beruflich oft Code von anderen durchforsten, deswegen
> haben wir da so Style-Konventions und es ist "hoeflich" seinen Code
> leserlich und sauber zu schreiben, vor allem, wenn ihn andere lesen
> sollen. Nur so als Gedanke zum Nachdenken.
>
> Michael

Notfalls hilft das: http://sourcenav.sourceforge.net/ , aber im Prinzip 
hast du völlig recht...

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
Noch kein Account? Hier anmelden.