• Keine Ergebnisse gefunden

return -Anweisungzur¨uckgibt. Befehlsfolge,dieErgebnisberechnetundmit-tels Anweisungen funkname TypdesR¨uckgabewertes(Ergebnis) Listeder¨ubergebenenParametermitTypundBezeichner(kannleersein) PARAMETERLISTE 1 Funktionen: typfunk_name(PARAMETERLISTE){/*Anwe

N/A
N/A
Protected

Academic year: 2021

Aktie "return -Anweisungzur¨uckgibt. Befehlsfolge,dieErgebnisberechnetundmit-tels Anweisungen funkname TypdesR¨uckgabewertes(Ergebnis) Listeder¨ubergebenenParametermitTypundBezeichner(kannleersein) PARAMETERLISTE 1 Funktionen: typfunk_name(PARAMETERLISTE){/*Anwe"

Copied!
6
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Funktionen: Kleine Unterprogramme, die Teil- probleme l¨ osen.

Deklaration:

typ funk_name(PARAMETERLISTE) { /* Anweisungen */

}

typ Typ des R¨ uckgabewertes (Ergebnis) funk name Bezeichner der Funktion PARAMETERLISTE

Liste der ¨ ubergebenen Parameter mit Typ und Bezeichner (kann leer sein)

Anweisungen

Befehlsfolge, die Ergebnis berechnet und mit-

tels return -Anweisung zur¨ uck gibt.

(2)

Parameter: Schnittstelle zw. Funktionen

double b) diff(double a,

x =: b 3.5 =: a

...

.. .. .. .. .. . .. .. .. .. . .. .. .. . .. .. .. . .. .. . .. .. . .. . .. .. . .. . .. .. . .. . .. . .. . .. . .. . .. . .. . .. . . .. . .. . .. . . .. . . .. . . .. . .. . . . .. . . .. . . .. . . . .. . . . .. . . . .. . . . . .. . . . . . .. . . . . . .. . . . . . . .. . . . . . . . . . .. . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . .. . . . . . . . . . .. . . . . . . .. . . . . . . .. . . . . .. . . . . .. . . . .. . . . .. . . . .. . . .. . . . .. . . .. . . .. . . .. . .. . . .. . .. . . .. . .. . .. . .. . . .. . .. .. . .. . .. . .. . .. .. . .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. .. . .. .. .

.. . .. .. . .. . .. .. . .. ...

...

main()

z := res

double res

res = fabs(a-b) return res

z = diff(3.5,x)

Argumente: 3.5 und x Parameter a und b

. R¨ uckgabewert res

Kopie der Argumente wird an Parameter ¨ uber- geben (call by value).

R¨ uckgabewert repr¨ asentiert das Ergebnis der

Funktion.

(3)

Parameter ver¨ andern:

int main() { ...

x = 5.0; y = 6.0;

z = diff(x,y); ...

}

double diff(double a, double b) { a = fabs(a-b);

return a;

}

x vor Funktionsaufruf: 5.0 a beim Funktionsaufruf: 5.0

a nach Funktionsberechnung: 1.0 x nach Funktionsaufruf: 5.0

Argument x bleibt unver¨ andert, da nur Kopie

(4)

Argumente ver¨ andern:

Verwendung bei mehreren Ergebnisvariablen und großen Datenstrukturen.

Zeiger: double *p x; (Speicheradresse) Wert hinter Zeiger: *p x x = *p x (dereferenzieren mit * -Operator)

Adresse einer Variable: &x p x = &x

Ubergabe einer ¨ Kopie der Adresse einer Va-

riable als Parameter an eine Funktion erm¨ oglicht

Manipulation (call by reference).

(5)

Referenzen ¨ ubergeben:

int main() { ...

x = 5.0; y = 6.0;

z = diff(&x,&y); ...

}

double diff(double *p_a, double *p_b) {

*p_a = *p_a - *p_b;

*p_a = fabs(*p_a);

return *p_a;

}

x vor Funktionsaufruf: 5.0

*p a beim Funktionsaufruf: 5.0

*p a nach Funktionsberechnung: 1.0 x nach Funktionsaufruf: 1.0

x wird ver¨ andert, da der Speicherbereich von x

(6)

diff(double *p a, double *p b)

5.0 6.0

5.0

6.0 6.0 6.0 6.0 1.0 1.0

2. 2.1. 2.2. 2.3. 3.

0x1F1C 0x1F18 0x1F10 0x1F08 0x1F00 p b

z p a

y x

0x1F08 0x1F08 0x1F08 0x1F00 0x1F00 0x1F00

1.0

-1.0

0x1F20

&x =: p a

&y =: p b

.. .. . .. .. .. .. .. .. .. ...

...

. .. .. . .. .. ..

... . .. . . . ... . . .. . .. . .. . .. .. . .. . .. . .. .. . .. . .. .. . .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. .. . .. .. .. . .. .. .. .. .. . .. .. .. .. .. . .. .. .. .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. .. . .. .. ...

....

....

....

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

main()

x=5.0, y=6.0 z = diff(&x,&y)

1.

2.

3.

*p a = fabs(*p a) return *p a

2.1.

2.2.

2.3.

z := *p a

...

*p a = *p a - *p b

Referenzen

ÄHNLICHE DOKUMENTE

Prime Minister Narendra Modi‐led government in India and the Sheikh Hasina regime in Bangladesh made it clear in 2014 that both the countries consolidated their

I Type: zur Zeit nur int; Initialisierer: konstanter Ausdruck I FunSpec später. I Vereinfachte Syntax (konkrete Syntax mischt Type und Id, Kommata

Die Gewählten sind grau unterlegt; die als Ersatzmitglieder Gewählten und die nicht gewählten Kandidat*innen fungieren in der Reihenfolge ihres Ergebnisses als

• der Stellvertreterinnen der dezentralen Gleichstellungsbeauftragten des FB 3 und der dezentralen Gleichstellungsbeauftragten für die Verwaltung und zentralen Einrichtungen1. •

mit folgenden Wahlergebnissen durchgeführt (die Gewählten sind grau unterlegt):. Senat, Gruppe

Wahlberechtigt: 19, ohne HP: 18 Wahlbeteiligung: 13 Wahlbeteiligung in %: 68,4 (ohne HP: 72,2) gültige Stimmzettel: 10 ungültige Stimmzettel: 31. Fachbereichsrat FB

mit folgenden Wahlergebnissen durchgeführt (die Gewählten sind grau unterlegt):1. Seite 2

Gegen das vorläufige Ergebnis der Wahl der zentralen Gleichstellungsbeauftragten – veröf- fentlicht am 23.05.2007 – wurde innerhalb der Einspruchsfrist (nach § 18 Absatz 1 der