Funktionsrumpf
Ein Funktionsrumpf entspricht einer Verbundanweisung mit den Anweisungen, die die Aufgabe der Funktion angeben.
Syntax
function-definition
:
declaration-specifiers
opt attribute-seq
opt declarator
declaration-list
opt compound-statement
/* attribute-seq
ist Microsoft-spezifisch */
compound-statement
: /* Funktionsrumpf */
{
declaration-list
opt statement-list
opt }
Variablen, die in einem Funktionsrumpf deklariert werden, sogenannte lokale Variablen, weisen die Speicherklasse auto
auf, sofern nicht anders angegeben. Beim Aufruf der Funktion wird Speicherplatz für die lokalen Variablen erstellt, und lokale Initialisierungen werden ausgeführt. Die Ausführungssteuerung wird an die erste Anweisung in compound-statement
übergeben und fährt fort, bis eine return
-Anweisung ausgeführt wurde oder das Ende des Funktionsrumpfs erreicht ist. Anschließend wird die Steuerung wieder an den Punkt zurückgegeben, an dem die Funktion aufgerufen wurde.
Eine return
-Anweisung, die einen Ausdruck enthält, muss ausgeführt werden, wenn die Funktion einen Wert zurückgeben soll. Der Rückgabewert einer Funktion ist nicht definiert, wenn keine return
-Anweisung ausgeführt wird oder wenn die return
-Anweisung keinen Ausdruck enthält.