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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren