Übergabe eines Feldes an eine Funktion?
-
Wie kann ich ein komplettes Feld einer Funktion übergeben?
-
void myfunc( int* array, int numElements );
so würd ichs machen...
-
longInt schrieb:
Wie kann ich ein komplettes Feld einer Funktion übergeben?
Kannst du genauso machen wie mit "normalen" Variablen. Da Arrays grundsätzlich als "Call by reference" übergeben werden, brauchst du dir also keine Gedanken zu machen.
void foo(int i[]) { }
-
und wo liegt dann der unterschied zwischen den beiden möglichkeiten?
-
Rein technisch gesehen, nirgendwo, wenn man mal davon absieht, dass dot noch die Anzahl der Elemente mit übergibt. Bei dynamisch erstellten Arrays ist es nämlich nicht möglich diese Information direkt aus der Variablen zu gewinnen. Bei statischen Arrays allerdings schon, da helfen Templates.