Textersatz aus CharArray

Gast #5706899
Lesenswert?
• ▲
▼
Hi

Ich habe ein Array in der Form
1
char array[numberOfElements][maxLengthElementNames]={"x1", "x2", "x3", "x4", "x5"};
2
C-Code

Jetzt möchte ich unten im if nach dem -> anstatt array[i], den Text x1 
einsetzten.
Geht das irgendwie? Wie löst man sowas?
1
  for(uint8_t i; i<numberOfElements; i++)
2
  {
3
    if(Sum->array[i] > 535)
4
    {
5

6
C-Code
Gast #5706972
Lesenswert?
• ▲
▼
Dirk B. schrieb:
> Mit strcmp

danke
1
struct Sums{
2
uint16_t x1, 
3
         x2, 
4
         x3,
5
         x4,
6
         x5;
7
};

Ich muss die Frage anders stellen.

Jetzt möchte ich schnell in einer Forschleife überprüfen, ob eines 
dieser Elemente den Wert 5000 überschreitet.
Wie kann ich das am Besten machen?
ein struct ist ja ähnlich wie ein array.
Gast #5706989
Lesenswert?
• ▲
▼
Rufus Τ. F. schrieb:
> Mark schrieb:
>> Wie kann ich das am Besten machen?
>> ein struct ist ja ähnlich wie ein array.
>
> Nicht mit einem Struct. Das ist nicht dafür gedacht, mit einer
> for-Schleife über die Elemente zu iterieren.
>
> Nimm ein Array.

es ist schon zu spät. wofür ist das dann gedacht?
#5707902
Lesenswert?
• ▲
▼
Versuche bitte erstmal, zu erklären, was du tatsächlich willst. Das 
erschließt sich für mich nicht so ganz.

Mark schrieb:
> Jetzt möchte ich unten im if nach dem -> anstatt array[i], den Text x1
> einsetzten.

Warum möchtest du das? Warum hast du erst ein Array gemacht, in dem der 
Text "x1" steht, wenn du das eigentlich direkt einsetzen willst? Und was 
erwartest du dir von der Schleife, wenn der Name eines Elements direkt 
da drin steht?
Übrigens: Was soll deiner Meinung nach passieren, wenn du den String 
"x1" mit der Zahl 535 vergleichst?

Mark schrieb:
> Jetzt möchte ich schnell in einer Forschleife überprüfen, ob eines
> dieser Elemente den Wert 5000 überschreitet.

Ok, das geht aber mit einer struct nicht.

> Wie kann ich das am Besten machen?
> ein struct ist ja ähnlich wie ein array.

Nicht wirklich. Die einzige Ähnlichkeit ist, dass ich in beiden jeweils 
mehrere Elemente haben kann.

Mark schrieb:
>> Nimm ein Array.
>
> es ist schon zu spät.

Warum? Hast du die struct in einen Stein gemeißelt und willst nicht 
nochmal einen neuen Stein anfangen?

> wofür ist das dann gedacht?

Um mehrere zusammengehörige Elemente von nicht notwendigerweise dem 
selben Typ gruppieren und über ihre Namen ansprechen zu können.
Bei einem Array dagegen sind alle Elemente vom selben Typ, und man kann 
sie über einen Index ansprechen und daher darüber iterieren, indem man 
in einer Schleife den Index bei jedem Zugriff erhöht.

Antwort schreiben

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.

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.