Rückgabe 2 dyn. Array's



  • Hallo zusammen,

    ich hab wiedermal eine kleine Frage.

    Ich rufe im Moment eine Funktion ohne Rückgabewert auf (mit 1 Int, 1 Real, 1 Array).

    Sieht also so aus:

    analysis(afReadVal,sSamples,fSampleTime);
    

    Nun werden in dieser Funktion 2 dynamische Array's angelegt und diese will ich dann auch an die Main zurückgeben.

    Aber wie mache ich das? Da diese dynamisch sind, reicht es einfach die Pointer zu übergeben? Und wie sieht dass dann in der Deklaration der Funktion aus?

    Greetz



  • Über sogenannte Out-Parameter. Die werden durch Zeiger auf Variablen gelöst.

    void Fubar(int **dynArr)
    {
      *dynArr = malloc(5 * sizeof(int));
    }
    
    int main(void)
    {
      int *myDynArray;
      Fubar(&myDynArray);
    }
    

Anmelden zum Antworten