Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Funktion mit zwei Rückgabewerten

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
09.07.2004, 19:41 Uhr
~Ralfxxx
Gast


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()
{
unsigned char x, y;
x='a';
y='b';
}

int main()
{
unsigned char 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.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.07.2004, 19:49 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


hey meister lampe die frage haben wir dir doch schon in c-plusplus.de beantwortet...
was daran ist dir denn unklar?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.07.2004, 19:59 Uhr
~Ralfxxx
Gast


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...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.07.2004, 20:03 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ok ich mach mal ein beispiel


C++:
void veraendere_wert_von_a_und_b(unsigned char* a,unsigned char* b){
*a=65; *b=66;
}

//aufruf in main so
int main(){
unsigned char 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
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
09.07.2004, 20:14 Uhr
Pablo
Supertux
(Operator)



Zitat:
~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!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
09.07.2004, 20:17 Uhr
~Ralfxxx
Gast


Danke @ Windalf

War sehr schön erklärt und ich hab's verstanden! ;-)

Hab's gleich probiert... funktioniert
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: