Funktionen

Eine Funktion ist ein Codeblock, der eine spezielle Aufgabe erledigt.

Wenn man beispielsweise ein Programm machen muss, dass die Aufgabe hat einen Kreis zu zeichnen und den Kreis zu färben. Um dieses Problem zu lösen, kann mann zwei Funktionen erstellen:

  • eine Funktion für den Kreis

  • eine Funktion für die Farbe

Das heisst, man nimmt ein komplexes Problem und bricht es in kleine Probleme runter. Das erhöht die Lesbarkeit und die Wiederverwendung.

Typen von Funktionen

Es gibt zwei Arten von Funktionen:

  • Standard Library Functions

  • User-defined Functions

Standard Library Functions

Diese Standard Library Functions sind eingebaute Funktionen in C. Diese Funktionen werden in den Header-Files definiert. Beispiele:

  • printf(): In der Header-Datei stdio.h

  • sqrt(): In der Header-Datei math.h

User-defined functions

Man kann als Programmierer seine eigenen Funktionen erstellen.

#include <stdio.h>

void functionName()
{
    ... .. ...
    ... .. ...
}

int main()
{
    ... .. ...
    ... .. ...

    functionName();

    ... .. ...
    ... .. ...
}

Die Ausführung fängt bei der main()-Funktion an. Wenn der Compiler zu functionName() kommt, springt er zu der Funktion oben (Zeile 3).

Jetzt fängt der Compiler an, den Code in der Funktion functionName() auszuführen. Nachdem die Funktion fertig ist, geht sie zurück zur main()-Funktion.

Beispiel

#include <stdio.h>



int main()
{
    int n1, n2, sum;

    printf("Enters two numbers: ");
    scanf("%d %d", &n1, &n2);

    sum = 
    printf("sum = %d", sum);

    return 0;
}


{
    int result;
    result = a + b;
    
}

Function Prototype

Ein Funktionsprototyp ist einfach die Deklaration einer Variable, die Name, Parameter und den return-Type angibt.

Ein Funktionsprototyp gibt dem Compiler die Information, dass die Funktion möglicherweise später genutzt wird.

returnType functionName(type1 argument1, type2 argument2, ...);

Man braucht den Funktionsprototypen nicht, wenn die Funktion vor der main()-Funktion definiert wird.

Funktionsaufruf

Der Programmablauf wird bei Aufrufen einer Funktion unterbrochen und geht zur jeweiligen Funktion und führt diese aus.

functionName(argument1, argument2, ...);

Funktionsdefinition

Die Funktionsdefinition enthält den Code, welche die Funktion ausführen sollte.

returnType functionName(type1 argument1, type2 argument2, ...)
{
    // body of the function
}

return-Statement

Das return-Statement beendet die Funktion und gibt ein Wert zurück.

return (expression);

Beispiel

return a;
return (a + b);

Zuletzt aktualisiert

War das hilfreich?