Funktion beenden mit return

OP #1698188
Lesenswert?
• ▲
▼
Hallo,

habe schon wieder eine Frage zum Syntax von GCC.

Ich möchte eine Unterfunktion, die ich im main aufrufe beenden, z.B.

  if (wert == 0){
      return;
      }

In der der Literatur steht bei mir immer return mit einem Rückgabewert, 
also
z.B. "return 0;"

Ich brauche keinen Rückgabewert und will nur die Funktion nicht kpl. 
durchlaufen, kann ich dann auf die "0" verzichten? Mein Compiler meckert 
es nicht an.
Moderator Persönliche Seite #1698192
Lesenswert?
• ▲
▼
Eine Funktion, die keinen Rückgabewert haben soll, bekommt als Typ
ein "void".  Dies zeigt dem Compiler explizit an, dass kein Wert
zurück gegeben werden darf, und dass auch nicht versucht werden
darf, einen Rückgabewert von der Funktion zu erhalten.

Selbstverständlich darf in so einem Fall dann das return nicht von
einem Ausdruck gefolgt werden.
Gast #1698198
Lesenswert?
• ▲
▼
Ob du einen Wert zurück gibst oder nicht, hängt davon ab welchen 
Rückgabetyp deine Funktion hat.

return ohne Wert ist nur bei void Funktionen zulässig.

Schau dir das Compilieren nochmal mit -Wall an.
#1698396
Lesenswert?
• ▲
▼
Dietmar P. schrieb:
> OK, verstanden.
>
> Vielen Dank für Eure Antworten.
>
> Das mit dem void hatte ich schon verstanden, aber in meinen Unterlagen
> war immer return mit Rückgabewert erklärt und daher verunsichert.

An dieser Stelle hättest du es sogar einfach nur ausprobiern brauchen.
Der Compiler hätte dir da schon auf die Finger geklopft :-)

(Aber das ist nur ausnahmsweise. Selbstverständlich wird im Allgmeinen 
nicht einfach nur wild drauf los probiert :-)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.