Funktionen mit Zeiger als Rückgabewert
-
Die Funktion liefert eine Adresse zurück, die Du in einer Pointer Variablen speichern kannst.
int* getAdress( int value ) { return &value; } int* pointer; pointer = getValue( 17 );Oder du gibst die Zahl zurück und weist sie dem Pointer zu
int getValue( int value ) { return value; } int* pointer; *pointer = getValue( 17 ); //oder pointer = &getValue( 42 );Bitte nicht nach dem Sinn des Beispiels fragen
Aber das hier:
int* foo(int value) { int arr[2]; arr[0]=value; arr[1]=-value; return arr; }Gibt dir gar nichts, weil arr beim Verlassen des Funktionsblocks zerstört wird.