Wie kann ich eine Funktion unter C schreiben die mir zwei Werte zurückliefert. Die Funktion soll zwei unsigned char werte zurückliefern die ich dann in der main-sektion zwei Variablen zuweisen kann!?
Ungefähr so:
C++:
funktion() { unsignedchar x, y; x='a'; y='b'; }
int main() { unsignedchar a ,b;
/* hier soll die funktion() aufgerufen werden und die zwei Rückgabewerte den Variablen a und b zugewiesen werden ***/ }
Dieser Post wurde am 10.07.2004 um 10:12 Uhr von FloSoft editiert.
Ich kriegs nicht hin! Es muß eine Lösung mit Zeiger sein, da es sonst unter C nicht läuft. Der Vorschlag mit "&" oder "new" funktioniert bei mir nicht. Ich bin Anfänger. Ich hab keine Probleme mit Funktionen, hat bisher alles immer geklappt! Nur die zwei Rückgabewerte machen mich fertig! Mit Zeigern blick ich noch nicht so richtig durch...
//aufruf in main so int main(){ unsignedchar a ,b; veraendere_wert_von_a_und_b(&a,&b); }
der grund das du an der stelle die adressen übergeben musst ist das innerhalb der funktion selber nicht direkt mit a und b gearbeitet wird sondern mit kopieren die nach dem durchlaufen der funktion wieder gelöscht werden... wenn du mit zeigern arbeitest werden diese zwar auch gelöscht aber du veränderst ja nicht die adresse von a sondern nur deren inhalt,.... -- ...fleißig wie zwei Weißbrote
~Ralfxxx postete Wie kann ich eine Funktion unter C schreiben die mir zwei Werte zurückliefert.
Unmöglich. Entweder arbeitest du mit Zeigern oder packst die Variablen in einem struct und lieferst den Struct zurück. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth!