#24 Funktionen in C Flashcards
Welchen Zweck haben Funktionen
-Mehrfachausführung an verschiedenen Stellen
-Dieser Code an Funktion definiert, Anschluss aufgerufen
Vorteil:
-kürzere Programme
-einfache Wartung(Korrektur, Erweiterung, Anpassung an andere Systeme)
Nachteil:
-Funktionsaufrufe kosten minimale Rechenzeit
Definition von Funktionen
-Festlegung der Aufgabe durch Anweisungsfolge
-Programmcode wir nicht ausgeführt sondern Compiler bekannt gemacht.
Syntax:[Speicherklasse][Datentyp]Name([Parameterliste und - defi])
{Anweisungsblock}
Wie läuft ein Funktionsaufruf ab?
Syntax:
1.(Verwendung der Funktion)
Name der Funktion([Parameterliste und -Definition])
2.Sprung an die Definitionsstelle
3.Abarbeitung der Anweisung
4.Fortsetzung des Programms mit dem ersten Befehl nach dem Aufruf
Was sind Funktionen ohne Parameter/Rückgabewert?
Funktionen ohne Parameter=Leere Parameterliste()
Funktionen ohne Rückgabewert= Schlüsselwort void anstelle des Rückgabetyps
Beispiel: Eine Funktion ohne Parameter und ohne Rückgabewert
void errorMessage()
{
printf(“An error occured.\n”);
}
Was sind die “Besonderheiten” von Variablen in Funktionen?
Im Funktionsblock können Variablen definiert werden.
● Die Variablen sind lokale Variablen. Sie sind nur in der Funktion sichtbar,
andere Programmteile können nicht auf sie zugreifen.
● Der Speicher für lokale Variablen wird beim Funktionsaufruf angelegt und
nach Funktionsende gelöscht.
● Lokale Variablen werden nicht initialisiert.
Was sind die Parameter in Funktionen?
● Parameter sind Werte, die vom aufrufenden Programm an die Funktion
übergeben werden.
● Die Funktion führt die Anweisungsfolge mit diesen Werten durch.
● Parameter werden innerhalb der Funktion wie normale lokale
Variablen behandelt.
● Flexibles Konzept: für jeden Funktionsaufruf sind andere
Anfangswerte möglich.
● Funktionsparameter und lokale Variablen dürfen nicht den gleichen
Namen haben.
Welche Bedingungen muss man bei Parametern beachten welche Unterscheidungen besitzen sie?
Parameter sind im Funktionskopf durch Datentyp und Namen
eindeutig festgelegt.
* Anzahl und Typen der Parameter von Funktionsaufruf und -definition müssen
übereinstimmen.
* Unterscheidung zwischen
* Formalen Parametern (Definition der Funktion)
und
* Aktuellen Parametern (Parameter, die beim
Funktionsaufruf verwendet werden)
* Aktuelle und formale Parameter dürfen,
müssen aber nicht denselben
Namen haben.
Was ist der Rückgabewert, was ist zu beachten?
● Mit dem Rückgabewert wird der berechnete Wert an die aufrufende Funktion
oder das aufrufende Programm übergeben.
● Sein Datentyp wird vor dem Namen in der Funktionsdefinition angegeben.
● Grunddatentypen und selbstdefinierte Datentypen* sind erlaubt
(int ist voreingestellt).
● Funktionen mit Rückgabewerten können im Programm wie ein einfacher
Ausdruck verwendet und behandelt werden:
Was ist die return-Anweisung, was ist zu beachten?
- Die return-Anweisung dient
- der sofortigen Beendigung einer Funktion und
- der Rückgabe eines Wertes (Ergebnis der Berechnungen in der Funktion) an
den aufrufenden Programmteil - Syntax: return Ausdruck;
- Der Datentyp des Rückgabewertes muss mit dem Datentyp der Funktion
kompatibel sein. - Gibt es keinen Rückgabetyp (void), wird kein Ausdruck angegeben:
12
return;