Durch das Setzen eines Asterisk vor einer Variable, definiert man, dass die Variable keinen Wert, sondern eine Adresse beinhaltet:
- Zeigen auf eine Speicheradresse
- Sie beinhalten eine Adresse
<type> *<name>, *<name>;
Adresse übergeben (referenzieren)
int *pointer; pointer = &variable_a;
Die Variable_a wird gelesen, aber nur ihre Adresse wird übergeben.
Wert übergeben (dereferenzieren, per value)
*pointer = 10; // oder var1 = *pointer_b; printf(" %d ", *pointer)
Der Wert wird ebenfalls über einen Stern zurückgegeben. Das ist verwirrlich, zeigt aber auch, dass es ein Wert von einem Pointer ist…
—————————————————————————–
Pointer a
int *a; int b;
Wohin zeigt a ?
b = &a; // b hat die Adresse
a soll einen Wert erhalten
*a = 10;