Laden...

Arrays direkt oder per Zeiger o.ä. übergeben?

Erstellt von Catscrash vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.261 Views
C
Catscrash Themenstarter:in
40 Beiträge seit 2007
vor 16 Jahren
Arrays direkt oder per Zeiger o.ä. übergeben?

Hallo,
ist es sinnvoll einer Methode (warum heißt das eigentlich nicht mehr Funktion...) ein ganzes Array zu übergeben wenn ich das dort bearbeiten möchte?

das Array ist außerhalb der aufrufenden Methode deklariert, die Methode kann also darauf zugreifen auch wenn ich es nicht übergebe, nur für das Wissen, welches Array da benutzt werden soll ist es sicher sinnvoller eine Art Zeiger oder Referenz oder ähnliches zu nutzen statt ein 8k Elementiges Array komplett zu übergeben, oder?

wie mache ich das? beim Aufrufen ein & vor die Variable?


private void blubba()
{blubb(&data,5);}

private void blubb(double[] calcarray, int m){}

muss die blubb-Methode auch noch irgendein Zeichen bekommen das das kein echtes Array sondern nur ein Zeiger darauf ist?

und werden so, alle Änderungen in der blubb-methode an calcarray auch an data gemacht?
danke...
Catscrash

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo Catscrash,

Variablen bzw. Parameter vom Typ double[] sind immer Referenzen. Du musst also nichts ändern.

herbivore

175 Beiträge seit 2006
vor 16 Jahren

Arrays sind Referenztypen, d.h. wenn du eine Array übergibst, wird per se nur die Referenz darauf übergeben, und nicht wie bei den Value-Types, das ganze zuerst noch kopiert.

edit:
once more... zu spät =)

C
Catscrash Themenstarter:in
40 Beiträge seit 2007
vor 16 Jahren

danke euch beiden 🙂