Forum: Mikrocontroller und Digitale Elektronik struct Zugriff


von Daniel (Gast)


Lesenswert?

Hallo,

ich habe ein ellenlanges struct und will auf die einzelnen Komponenten 
nicht über den Namen (struct.komponente1) sondern mit Hilfe der Position 
zugreifen.
Geht sowas (so ähnlich(wie bei einem array)struct.[1])?
Oder muss ich zwingend eine riesen anweisung schreiben in der ich jedes 
Element einzeln anspreche?
Mit einem Pointer den ich einfach immer auf das nächste element zeigen 
lasse, würde ich es auch ungerne machen.

Lieben Gruß

Daniel

von Karl H. (kbuchegg)


Lesenswert?

Daniel schrieb:
> Hallo,
>
> ich habe ein ellenlanges struct und will auf die einzelnen Komponenten
> nicht über den Namen (struct.komponente1) sondern mit Hilfe der Position
> zugreifen.

Da frage ich mich dann, warum die Strukturmember nicht von vorne herein 
gleich keine Einzelmember sondern ein Array sind.

> Oder muss ich zwingend eine riesen anweisung schreiben in der ich jedes
> Element einzeln anspreche?

Wie soll denn die Anweisung aussehen?

von troll (Gast)


Lesenswert?

Daniel schrieb:
> Geht sowas (so ähnlich(wie bei einem array)struct.[1])?
Nein. Man könnte höchstens eine union über die struct legen aber das ist 
Gemurkse.

von Daniel (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Da frage ich mich dann, warum die Strukturmember nicht von vorne herein
> gleich keine Einzelmember sondern ein Array sind.

Sorry, da habe ich mich falsch ausgedrückt. Die sind kein Array, sondern 
ein struct. Ich wollte/will nur auf die einzelnen Member zugreifen, als 
ob es ein array wäre.

von Karl H. (kbuchegg)


Lesenswert?

Daniel schrieb:
> Karl Heinz Buchegger schrieb:
>> Da frage ich mich dann, warum die Strukturmember nicht von vorne herein
>> gleich keine Einzelmember sondern ein Array sind.
>
> Sorry, da habe ich mich falsch ausgedrückt. Die sind kein Array, sondern
> ein struct. Ich wollte/will nur auf die einzelnen Member zugreifen, als
> ob es ein array wäre.


Ja eben. Genau darum geht es.
Wenn du auf sie wie auf ein Array zugreifen willst, warum ist das dann 
kein Array?


Zeig mal Code. Sonst raten wir noch 2 Stunden um den heißen Brei rum.

von Daniel (Gast)


Lesenswert?

Hab den Code nicht hier. Komme erst morgen früh wieder an den Rechner. 
Poste ihn so schnell es geht

von troll (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Ja eben. Genau darum geht es.
> Wenn du auf sie wie auf ein Array zugreifen willst, warum ist das dann
> kein Array?
unterschiedliche Datentypen?

von Karl H. (kbuchegg)


Lesenswert?

troll schrieb:
> Karl Heinz Buchegger schrieb:
>> Ja eben. Genau darum geht es.
>> Wenn du auf sie wie auf ein Array zugreifen willst, warum ist das dann
>> kein Array?
> unterschiedliche Datentypen?

Mag sein.
Dann ist jedoch der naive Ansatz "ich will wie auf ein Array zugreifen" 
von vorne herein schon zum Scheitern verurteilt.

von Bronco (Gast)


Lesenswert?

Daniel schrieb:
> Geht sowas (so ähnlich(wie bei einem array)struct.[1])?
> Oder muss ich zwingend eine riesen anweisung schreiben in der ich jedes
> Element einzeln anspreche?

Du könntest Dir im Flash eine Tabelle (Array) anlegen, in der die 
Adressen der einzelnen Element eingetragen sind. Das kostet Dich 
natürlich entsprechend Speicherplatz.

Ich hab so etwas schon öfter gesehen, wenn z.B. über eine Schnittstelle 
auf einzelne Geräteparameter zugriffen werden soll. Dann sind die 
Parameter (Variablen) zur internen Verwaltung in einer oder mehreren 
Strukturen zusammengefaßt, und über ein Array mit Parameteradresse und 
-nummer kann man auf die einzelnen Parameter (Element der Struktur) 
zugreifen.

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.