verschiedene übergabewerte in for schleife benutzen

Gast #2268719
Lesenswert?

Hallo,ich übergebe einer Funktion 8 Werte.
In der Funktion ist nur eine for Schleife,die in ein array schreibt.
Wie kann ich es bewerkstelligen das in jedem durchlauf der for schleife 
der nächste ubergebene wert benutzt wird?

void test (uint8_t a,uint8_t b, usw.bis uint8_t h)
 {
  for(uint8_z = 0;z<7;z++)
   {
    anzeige [0] [a] = 128;
   }
 }
Die Schleife soll also im ersten durchlauf den Wert von a,im zweiten den 
Wert von b benutzen.
Ich hoffe,ich habe mich verständlich ausgedrückt.
Wäre nett,wenn mir jemand helfen könnte.

gruss

andy
Gast #2268742
Lesenswert?

Hallo,danke für die antwort.da sich die 8 werte ständig ändern,müsste 
ich sie ja jedesmal erst in test schreiben und die funktion schreibt sie 
dann in anzeige.Dann kann ich sie ja sofort in anzeige schreiben.Da ich 
das sehr oft ausführen muss,dachte ich mir ich übergebe die 8 werte an 
die funktion und sie schreibt die werte in das array.

gruss
andy
Gast #2269253
Lesenswert?

andy schrieb:
> Hallo,danke für die antwort.da sich die 8 werte ständig ändern,müsste
> ich sie ja jedesmal erst in test schreiben und die funktion schreibt sie
> dann in anzeige.

Bei deiner Lösung schreibst du sie halt in die 8 Parameter der Funktion. 
Einige davon werden allerdings wahrscheinlich in Registern übergeben, 
was es ein paar Taktzyklen schneller machen dürfte.

> Dann kann ich sie ja sofort in anzeige schreiben.Da ich das sehr oft
> ausführen muss,dachte ich mir ich übergebe die 8 werte an die funktion
> und sie schreibt die werte in das array.

Nun, wie du dir das vorstellst, geht es nicht. Die einzige Alternative 
wäre dann die von Klaus erwähnte variable Argumentliste, aber die wird 
meines Wissens normalerweise komplett über den Stack übergeben, geht 
also auch über den Speicher. Damit gewinnst du also nichts.

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