Twitter und Facebook-Anbindung
X
Tweet Follow @twitterapi
!!! Anbindung an twitter und facebook öffnen !!!

Wenn Ihnen mein Online-Buch gefällt,
dann bedanken Sie sich doch mit einer kleinen Spende...

5.1 Wie werden Funktionen definiert

5.1 Wie werden Funktionen definiert

Das Schema sieht so aus: <DatentypDesRückgabewertes> <Funktionsname>([<Datentyp> <Variable1>, <Datentyp> <Variable2>, ...]) { <Anweisung>|[return <Wert>] }

Bei mehreren Funktionen ist die Reihenfolge im Quelltext wichtig, da man nur Funktionen aufrufen kann, die im Quelltext weiter oben stehen. Definiert man erst "Funktion1" und dann "Funktion2", kann dann zwar "Funktion2" "Funktion1" aufrufen aber nicht umgekehrt. Das kann man sich vorstellen wie in diesem Tutorial. Wenn man davon ausgeht, dass Sie bis jetzt alles gelesen haben, dann kann ich mich zu diesem Zeitpunkt nur auf Sachen beziehen, die bereits behandelt wurden, also weiter oben stehen, wohingegen ich mich schlecht auf Sachen beziehen kann, die erst in Kapitel 20 behandelt werden.

Um auf die kleine Matheaufgabe zurückzukommen, möchte ich ganz kurz zeigen, wie man dies in C programmieren würde, bevor ich dann ein etwas komplexeres Beispiel konstruiere.

 1
 2
 3
 4
 5
 6
 7
 8
					
int f(x) {
	return x * x;
}

// ...

int y1 = f(1);
int y2 = f(2);
					

Prinzipiell können Funktionen jede Art von Datentyp zurückgeben. Falls eine Funktion nichts zurückgeben soll, benutzt man den Pseudodatentyp "void". In diesem Fall darf die Funktion kein "return" besitzen.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
34
					
// Funktion die zwar aus auf der Konsole ausgibt, aber nichts zurück gibt ///////
void ErsteAusgabe() {
	printf("Hallo ");
} // ErsteAusgabe /////////////////////////////////////////////////////////////



// Auch hier wieder keine Rückgabe //////////////////////////////////////////////
void ZweiteAusgabe() {
	printf("Welt\n");
} // ZweiteAusgabe //////////////////////////////////////////////////////////////



// Funktion addiert die zwei übergebenen Werte und gibt das Ergebnis zurück /////
int Addiere(int iSummand1, int iSummand2) {
	return iSummand1 + iSummand2;
} // Addiere ////////////////////////////////////////////////////////////////////



// DIESE FUNKTION WIRD IN JEDEM FALL ZUERST AUFGERUFEN //////////////////////////
int main(int argc, char** argv) {
	ErsteAusgabe();		// Die Klammern sind in jedem Fall wichtig
	ZweiteAusgabe();	// Die Aufrufe funktionieren, da die zwei Funktionen über dieser definiert wurden.
	
	int iZahl1 = 10;
	int iZahl2 = 20;
	
	printf("%i", Addiere(iZahl1, iZahl2));

	return 0;
} // main ///////////////////////////////////////////////////////////////////////
					

Ausgabe:

Hallo Welt
30
		
Zum Seitenanfang
Zum Inhaltsverzeichnis

© Copyright by Thomas Weiß, 2009 - 2012