Was bedeutet. "&" vor einer Variablen in einer Funktion?

Hallo,

es geht hier um die Funktion SunTimes:

double SunTimes (float latitude, float longitude, double &Sonnenaufgang, double &Sonnenuntergang) { ....... }

die wie folgt aufgerufen wird:

Tageslaenge = SunTimes (latitude, longitude, Sonnenaufgang, Sonnenuntergang);

Was bedeutet hier z.B. bei double &Sonnenaufgang das "&" vor der Variablen?

Ich weiss, dass "&" wichtig ist, aber ich kann damit programmtechnisch nichts anfangen.

Über eine kurze Info würde ich mich freuen.
Danke, mischu

You should write in english in here.. The ampersand means that the variable may be modified within the function:

void f1(int v) { v = 1; }
void f2(int &v) { v = 1; }

int i = 0;
f1(i);
//i == 0

f2(i);
//i == 1

f1(2); //valid
f2(2); //invalid, variable required

Das nennt man eine Referenz.

The "&" means "address of" rather than value of.

When used in a function call, the function can return a value to the calling program via that address.