C Handbuch bestellen

Das C Tutorial (deutsch)

Funktionen

Wie wir aus der Erklärung des Grundgerüstes erfahren haben, ist der Programm-Block bei int main() unser Hauptprogramm. Wenn wir alle unsere Aktionen in diesem Block unterbringen, wird unser Programm schnell sehr lang und unübersichtlich. Um Ordnung in die Aktionen zu bringen, zerlegen wir große Probleme in kleine Teilprobleme. Diese Teilprobleme legen wir dann als "Funktion" getrennt vom Hauptprogramm ab. Eine Funktion erledigt immer eine bestimmte Aufgabe. In der Grafik wird z.B. eine Funktion veranschaulicht, welche zwei Zahlen addiert und die Summe zurückgibt.

Funktionen

Damit eine Funktion nach unseren Wünschen arbeitet, kann man ihr Werte übergeben, sogenannte Parameter. Für diese Parameter muss auch ein Datentyp festgelegt werden. In dem obigen Beispielen werden der Funktion addiere() die Parameter 3 und 7 übergeben. Der Datentyp dafür ist also int. Die Funktion liefert uns als Ergebnis die Summe - dies ist der Rückgabewert. Für diesen Rückgabewert muss auch wieder ein Datentyp festgelegt werden.

Eine Funktion hat folgende Eigenschaften:

  • Bezeichner, ein Name unter der sie ansprechbar ist, z.B. addiere()
  • Bezeichner der Parameter, z.B. summand1, summand2
  • Datentyp der Parameter, z.B. int
  • Datentyp des Rückgabewertes, z.B. int

Unser Beispiel sieht in Codeform so aus:

#include<stdio.h>

int addiere(int summand1, int summand2) {
	return (summand1 + summand2);
}

int main() {
	int summe = addiere(3, 7);
	printf("Summe von 3 und 7 ist %d\n", summe);
	return 0;
}
Summe von 3 und 7 ist 10

Damit wir im Hauptprogramm die Funktion addiere() ansprechen können, muss diese dem Hauptprogramm bekannt sein. Dies erreichen wir, indem die Funktion über das Hauptprogramm platziert wird. Vor den Funktionsnamen schreiben wir den Datentyp des Rückgabewertes mit int addiere(...).

Nach dem Namen schreiben wir zwischen den Klammern die Parameter, eben falls mit vorangeschriebenen Datentyp (int summand1, int summand2). Hat die Funktion mehrere Parameter, werden diese mit einem Komma , getrennt.

Danach folgt ein üblicher Block mit { }. Dieser enthält im Beispiel lediglich eine return Anweisung. Mit return wird die Funktion beendet und ein Wert zurückgegeben. Wir geben mit return (summand1 + summand2) die Summe der Parameter zurück.

Im Hauptprogramm deklarieren wie eine Variable summe, welche wir mit dem Rückgabewert des Funktionsaufrufes addiere(3, 7) initialisieren.