Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: konstante Arrys Kategorie: Programmierung (von Michi, http://www.elektronik.co.at - 24.01.2007 9:38)
Als Antwort auf konstante Arrys von Steffan - 23.01.2007 22:23
Ich nutze:
C-Control II Unit, OSOPT V3.0
Hallo Stefan !

Wie man wirklich vom laufenden Programm aus die Grö�e der Arrays ermittelt, können dier vielleicht
die Softwarespezialisten antworten. Bin mir gar nicht sicher, ob das überhaupt gehen kann, bin eher
der Ansicht, daÃ? im "Maschinencode" (VMC) diese Information kaum mehr stecken kann.
In anderen Sprachen gibt es ja die Linkertabellen, wo die Variablen und Konstanten hin kommen.

Ich arbeite mit einem work-around, indem ich im [0] immer die Grö�e angebe. Die "echten" Einträge
beginnen dann ab [1], eine auch menschlicher Zählweise.
Ungefährlich ist das natürlich nicht, weil man fehlerhafte Grö�enangaben in [0] verursachen kann.
Man kann natürlich durch saubere Syntax in der Arraydefinition versuchen, saubere Verhältnisse zu
erzwingen.
Ich mache mir auch gerne einen "abgesicherten Zugriff" auf die Arrays, indem ich über eine Funktion
zugreife, die nur von eins bis max aus dem [0] zugreift. (es mu� natürlich festgelegt sein, was max ist
wenn der letzte eintrag auf Grö�e-1 steht).

Bin gespannt, ob die Softies eine echte Lösung kennen.

Michi


> Hallo,
>
> ich hab heute mal intensiv Lektüre und natürlich auch das Forum zu einer Problemstellung
> zu konstanten Arrays befragt, aber leider doch keine Antwort gefunden. Und zwar geht es um
> folgendes Problem:
>
> Ich habe konstante benannte Arrays deklariert und möchte nun in meinem Programm die Anzahl
> der Elemente ermitteln. Ich komm hier einfach nicht auf eine passende Idee. Das sieht ungefähr
> so aus:
>
> const MENUE1[] = "Füllen", "Michen", "Leeren";
> const MENUE2[] = "Heben", "Senken";
> ...
>

> Nun möchte ich auf die einzelnen Elemente der Arrays zugreifen. Dazu durchlaufe ich eine Schleife
> und lese die Elemente über den Index aus.
>
> str = MENUE1[i];
>

> Da die einzelnen Arrays eine unterschiedliche Anzahl von Elementen besitzen, brauche ich dazu
> die Anzahl der Elemente, sonst kommt es zu einer Verletzung des zulässigen Indexbereiches.
> In VBA gibt es zu diesem Problem eine Lösung z.B. mit "UBound()".
> Gibt es hier auch so etwas ähnliches?
>
> Wäre super, wenn mir jemand weiterhelfen könnte.
>
> Viele Grü�e
> Steffan

Meine Seite: http://www.elektronik.co.at


    Antwort schreiben


Antworten:

Re: konstante Arrys (von Steffan - 24.01.2007 18:38)