Video

C Funktionen – Grundlagen

Bisher sind dir nur mathematische Funktionen mit f(x) bekannt und weißt nicht so recht wie man bei der Aufstellung von C Funktionen vorgeht? In diesem Beitrag lernst du, diese zu beherrschen.

Inhaltsübersicht

Aufbau einer C Funktion – Funktionskopf

Eine Funktion besteht aus zwei Teilen, dem Kopf und dem Rumpf. Beide sind unbedingt notwendig dafür, dass die Funktion ausführbar ist. Den Anfang macht der Funktionskopf. Er sieht in etwa so aus: Der Typ am Anfang ist der Funktionstyp, der den Rückgabewert deiner Funktion festlegt. Der Funktionsname ist eigentlich selbsterklärend. Danach folgen in runden Klammern auch schon die Parameter. Die musst du ebenfalls mit Typ und Name angeben.

direkt ins Video springen
Der Funktionskopf legt den Funktionstyp und die Parameter fest

Doch auch hier gibt es noch extra Vorschriften: Dein Rückgabetyp muss einer der von C zur Verfügung gestellten Typen sein, sonst wird das mit dem Programm nichts. Außerdem dürfen die Namen sowohl von deiner Funktionen als auch von deinen Parametern nur Buchstaben – ausgenommen der Umlaute – und Unterstriche enthalten und müssen den sonstigen Konventionen folgen.

Aufbau einer C Funktion – Funktionsrumpf

Kommen wir zum Funktionsrumpf. Er besteht aus Anweisungen, die von geschweiften Klammern umgeben sind. Alles, was zwischen diesen Klammern steht, wird später ausgeführt. Du kannst allerdings zusätzlich zu diesem Code auch noch die Werte der übergebenen Parameter benutzen.

direkt ins Video springen
Der Funktionsrumpf besteht aus Anweisungen

Der Teil zwischen den Klammern kann sehr viele verschiedene Arten von Befehlen enthalten.

direkt ins Video springen
Beispiel eines typischen Funktionsrumpfs

Zum einen gibt es die Kommentare, die keinerlei Auswirkung auf das Programm haben und nur für die bessere Übersicht der Entwickler geschrieben werden, zum anderen die restlichen Anweisungen.

Diese beinhalten Variablenvereinbarungen (int test), Rechenausdrücke (test + number) und Funktionsaufrufe (startFunction…), aber auch lokale Einbindungen von Bibliotheken (#include) und Wertzuweisungen (test = …). Wenn es etwas komplizierter wird, werden zudem noch Ablaufstrukturen, wie Bedingungen oder Wiederholungen eingesetzt. Den Abschluss der meisten Funktionen bildet der Rückgabewert.

Studyflix vernetzt: Hier ein Video aus einem anderen Bereich

Aufruf der C Funktion

Nun haben wir unsere Funktion also definiert. Um sie jetzt in der main-Methode auch noch korrekt aufrufen zu können, musst du beim Aufruf auf die Art des Kopfes der Funktion achten. Liegen Parameter für die aufzurufende Funktion vor, so können diese entweder hart codiert, also direkt in die Klammern geschrieben werden oder weich codiert bzw. mit Variablen referenziert werden. Hast du keine Parameter, die du angeben musst, kannst du die Klammern einfach leer lassen.

Aufruf der fertig programmierten C Funktion
direkt ins Video springen
Aufruf der fertig programmierten C Funktion

Du solltest dir dabei bewusst sein, dass der Aufruf immer auch mit der Ausführung der Funktion einhergeht und sie wirklich jedes Mal ausgeführt wird, wenn das der Fall ist.

Bei dieser Ausführung werden die übergebenen Werte im Rumpf für die angegebenen Parameter eingesetzt und die Anweisungen, die du angegeben hast, werden in der Reihenfolge, in der du sie auch geschrieben hast, ausgeführt. Am Schluss erhält die Funktion, die deine aufgerufen hat, noch den berechneten Rückgabewert.

direkt ins Video springen
Die Anweisungen werden in Reihenfolge ausgeführt und der Rückgabewert wird ausgegeben

Nun weißt du wie eine C Funktion grundsätzlich aufgebaut ist und was man bei ihrem Aufruf beachten muss.

C Funktionen – Grundlagen — häufigste Fragen

(ausklappen)
  • Wie definiert man eine Funktion in C?
    Eine Funktion in C definiert man, indem man zuerst den Rückgabetyp, dann den Funktionsnamen und die Parameter in runden Klammern schreibt und danach den Funktionsrumpf in geschweiften Klammern ergänzt. Im Rumpf stehen die Anweisungen und bei Bedarf ein Rückgabewert, z. B.: int add(int a, int b){ return a + b; }.
  • Was ist der Unterschied zwischen Parametern und lokalen Variablen in einer C-Funktion?
    Parameter in einer C-Funktion sind Platzhalter im Funktionskopf, die beim Funktionsaufruf mit konkreten Werten belegt werden. Lokale Variablen deklariert man erst im Funktionsrumpf und bekommt dort ihre Werte. Lokale Variablen sind nur innerhalb dieser Funktion verwendbar und verschwinden nach dem Funktionsende.
  • Wann verwendet man in C-Funktionen einen Rückgabewert statt void?
    Einen Rückgabewert verwendet man in C-Funktionen, wenn die Funktion ein berechnetes Ergebnis an die aufrufende Stelle zurückgeben soll, damit man es weiterverarbeiten kann. void verwendet man, wenn keine Rückgabe gebraucht wird und die Funktion nur Anweisungen ausführt. Der Rückgabewert entsteht am Ende der Funktion durch return.
  • Warum deklariert man Funktionen in C vor dem Aufruf mit einem Funktionsprototyp?
    Einen Funktionsprototyp deklariert man in C vor dem Aufruf, damit der Compiler den Rückgabetyp und die Parameterliste der Funktion schon kennt, wenn er den Funktionsaufruf übersetzt. Ein Funktionsprototyp enthält nur diese Signatur mit Semikolon, aber keinen Funktionsrumpf. Dadurch können Argumente und Rückgabetyp passend geprüft werden.

Nach Beantwortung speichern wir deine Antwort, um Studyflix zu verbessern. Mehr dazu erfährst du in unserer Datenschutzerklärung.

Programmierung verstehen

C Funktionen gehören zur Programmierung und sind ein wichtiger Baustein in vielen Programmen. Du ordnest in diesem Themenfeld Code, Datentypen, Variablen und Abläufe zu einem vollständigen Programm. So wird klar, wie einzelne Teile zusammenarbeiten und warum ein Programm nur mit einer sauberen Struktur richtig läuft. Weitere Videos dazu findest du in unserem Informatikbereich.

Lernen lohnt sich! Entdecke hier deine Chancen.