www.mikrocontroller.net

Forum: Compiler & IDEs Zweidimensionales Array mit festen Adressen


Autor: Nichtswisser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe einen festen Speicherbereich und möchte diesen als Grundlage 
für ein zweidimensionales Array verwenden.

Zum Beispiel:

Array Adr0
0x0000     Adr0a
0x0001     Adr0b
0x0002     Adr0c
0x0003     Adr0d
0x0004     Adr0e

Array Adr1
0x0005     Adr1a
0x0006     Adr1b
0x0007     Adr1c
......     ....


Adr0, Adr1, etc. sind als Arrays bereits definiert und die Adressen 
bekannt.

Die Adresse 0x0002 könnte man also mit Adr0[2] ansprechen. Ich möchte 
sie aber mit Adr[0][2] ansprechen, d.h. die Bezeichner der Arrays (Adr0, 
Adr1,...) selbst sind nochmal in Arrays gefasst. Dies dient nur zur 
besseren Lesbarkeit des Codes.

Könnte ich also ein Array von Pointern auf die Arrays Adr0, Adr1 etc. 
anlegen, und dann die einzelnen Werte wie oben beschrieben adressieren?

Gibt es noch andere Lösungen?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dir geht es also darum, wie man von Hand zu Fuss bei gegebener 
Spalte/Zeile ein Element in einem zweidimensionalen Array indizieren 
kann.

Voraussetzung dafür ist, dass deine können als zweidimensionales Array 
abgelegt werden können/sind, d.h. sie müssen identische Elementanzahl 
pro Dimension haben.

Lies dich dazu vielleicht in die C FAQ ein, speziell Frage und Antwort 
2.11 und folgende.
http://www.dclc-faq.de/kap2.htm

Warum willst du das überhaupt machen?

Eine Alternative zum mehrdimensionalen Array zwecks "Zusammenhalten" der 
Daten im Quelltext, wäre z.B. eine umfassende Struktur in der Art:

struct {
   char Adr0[MAXDIM_0];
   char Adr0[MAXDIM_1];
};

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.