struct und array

Gast #861901
Lesenswert?

Hallo zusammen,

ich habe ein Problem mit struct und array und brauche eure Hilfe.
Folgendes Beispiel möchte ich anwenden:

typdef struct
{unsigned int a;
 unsigned char b[6];
 unsigned char c[6];
}wert;
 wert t1;
 wert t2;
 wert t3;

nun möchte ich z.B. in die array's t1.b t2.b und t3.b ständig nach 
einander Werte schreiben. Wenn die letzte Speicherzelle beschríeben ist, 
soll vorne wieder angefangen werden. Mit den array's will ich also einen 
Ringbuffer machen
z.B.
t1.b[0]=1;
t1.b[1]=2;
t1.b[2]=3;
t1.b[3]=4;
t1.b[4]=5;
t1.b[5]=6;
t2.b[0]=7;
t2.b[1]=8;
t2.b[2]=9;
t2.b[3]=10;
t2.b[4]=11;
t2.b[5]=12;
t3.b[0]=13;
t3.b[1]=14;
t3.b[2]=15;
t3.b[3]=16;
t3.b[4]=17;
t3.b[5]=18;
t1.b[0]=19;
t1.b[1]=20;
t1.b[2]=21;
t1.b[3]=22;
t1.b[4]=23;
t1.b[5]=24;
usw.

nun mein Problem:
Wie kann ich von t1.b[5] nach t2.b[0] oder von t2.b[5] nach t3.b[0] und 
wieder von t3.b[5] nach t1.b[0] wechseln?
Wahrscheinlich für euch kein Problem, aber ich komme da nicht weiter.
viele Grüße
Gast #861908
Lesenswert?

Umm...einfach zuweisen?
t1.b[5] = t2.b[0] oder auch umgekehrt?

Von alleine macht das keinen Ringpuffer, du musst schon mitzählen, wann 
das erste Array voll ist, und wann es dann Zeit ist, von vorne 
anzufangen :-)
Gast #861921
Lesenswert?

Hallo Sven,

Danke für deine Antwort. Ja stimmt, auf die Idee bin ich nicht gekommen 
einen Zähler mitlaufen zulassen. Den Zähler kann ich von 0 bis 24 hoch 
zählen und bei 7, 13, 19 und 25 jeweils einen Wert in das entsprechende 
array speichern.
Vielen Dank für den Denkanstoss.
Viele Grüße

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