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.


Anmelden zum Antworten