Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: silencium am 13. June 2004, 16:32

Titel: libc return...
Beitrag von: silencium am 13. June 2004, 16:32
Moinsen,

So ich hoff ich verbock meinen eindruck net gleich beim ersten thread mit der frage aber ich hab mit suchen nix gefunden.

Ich bin gerade dabei die libc zu bauen und jetzt werde ich von einer frage gequält:
Kann ich ohne bedenken return am ende einer funktion benutzen oder ist das für sich selbst wieder eine funktion die ich erst schreiben muss?

Das wars auch schon mfg silencium
Titel: libc return...
Beitrag von: lobmann am 13. June 2004, 16:57
Gibt keine dumme Fragen nur dumme Antworten!

;) ja klar return in C is im Prinzip dasselbe wie ret in ASM, kannste sogar bei void Funktionen benutzen.
Titel: libc return...
Beitrag von: silencium am 13. June 2004, 17:55
Danke schön da fällt mir ein stein vom herzen :)

mfg silencium
Titel: libc return...
Beitrag von: joachim_neu am 14. June 2004, 17:49
alles, was du bei return angibst wird doch in ax oder al oder so geschrieben, oder?
Titel: libc return...
Beitrag von: TeeJay am 14. June 2004, 18:12
Return ist ein Schlüsselwort des C-Syntax.

Und bei C kann man eigentlich alles was zum reinen Syntax gehört benutzen ohne groß etwas dafür vorbereiten zu müssen.

Return wird genutzt um anzugeben welcher Wert zurückgegeben wird.

Des weiteren muss Return keinesfalls am Ende einer Funktion stehen.

Auch in einer If-Bedingung kann man Return einbauen um die Funktion (z.B. bei einem Fehler) vorzeitig zu beenden.
Titel: libc return...
Beitrag von: Another Stupid Coder am 14. June 2004, 18:19
Ich dachte dafür gibts break und continue?
Titel: libc return...
Beitrag von: TeeJay am 14. June 2004, 18:58
Damit springst du nur aus einer Schleife. Um aber aus der ganzen Funktion zu springen benötigst du return.


Beispiel:

void func(int z)
{
    if(z == 1)
       return;

    z = z +1;

     return;
}

Die Func macht klar keinen Sinn, aber dient nur als beispiel. Bei der If-Bedingung hättest du jetzt vielleicht auf einen Fehler prüfen können.

Klar hätte man auch mit If-Else arbeiten können. Aber manchmal sieht es einfach unfein aus, wenn man so viele verschachtelungen macht.
Titel: libc return...
Beitrag von: Another Stupid Coder am 14. June 2004, 20:20
Ich meinte ja für If-Bedingungen...