c++: funktionen mit überlieferten arrays

  • brauche eine funktion:

    ich will als parameter und als rückgabewert ein int array angeben, wie mache ich das?

    dachte an:

    int[] blabla (int list[]){ }

    oder so, funkt sich aber iagendwie nicht :(
    kann mir wer weiterhelfen?

  • probier mal
    int* blah(int* x);

    Das "Array" wird sowieso als Pointer auf das erste Element realisiert, also wäre *x und x[0] gleichbedeutend... sofern die Anzahl der Elemente im Parameter- und Rückgabearray nicht immer fix ist, solltest du sie auch als Integer oder Pointer auf Integer (damit du sie im caller auch verändern kannst) der Funktion zusätzlich übergeben...

  • p.s:

    sollte vielleicht dazu sagen, dass es sich bei dem parameter-array und dem übergabewert-array um das selbe handelt, d.h. blabla(int* list){}
    sollte eigentlich genügen oder?
    weiters wenn ich an die funktion den pointer übergeben will, wie sieht dann der prototyp der funktion blabla(int* list){} aus?

  • wenn du so freundlich wärst und parameter-array und übergabewert-array definieren könntest...

    deklaration einer funktion, die ein (int) array übernimmt und nichts zurückgibt:
    void foo (int []);
    deklaration einer funktion, die ein (int) array übernimmt und eines zurückgibt:
    int * foo (int []);
    - || - , die ein array einer bestimmten größe nimmt und nix zurückgibt:
    void foo (int [42])

    und damit folgende beispiel definitionen:
    void foo (int x[]) { cout << x[10]; }
    int *foo (int x[]) { x[10] = 10; return x; }
    void foo (int x[42]) { x[22] = 21; }

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!