myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

[JAVA] Klausurfrage zu Arrays

Willkommen

myGully

Links

Forum

 
Antwort
 
Themen-Optionen Ansicht
Ungelesen 13.07.11, 15:38   #1
kalliknuddel
Anfänger
 
Registriert seit: Feb 2009
Ort: Berlin
Beiträge: 35
Bedankt: 18
kalliknuddel ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von mrburns Beitrag anzeigen
mit der Funktion change_i wird nicht die Speicheradresse von i übergeben,
das hat zur Folge, dass der Werteumtausch in der Funktion nur temporär (nur innerhalb der Funktion) ist.
Call by Value ist schon richtig^^
Allerdings wird die Speicheraddresse übergeben, sonst könnt er ja nich auf i zugreifen Oo
Und das ganze Array wird nich kopiert

Was passiert ist folgendes:
Beim Aufruf der Funktion wird change_i wird die Addresse von i1 (ich nenns jetz mal i1 und i2^^) kopiert.
Deshalb wären auch alle (!)Änderungen an i1(!) in der Funktion permanent.
Der Witz ist, dass die Kopie der Speicheraddresse ja geändert werden kann (was beim i = j passiert).
Allerdings ändert das ja wie gesagt nur die Kopie der Addresse und hat garkeine Auswirkung auf das Array an sich.

Bei einfachen Zuweisungen von Arrays werden diese nicht Kopiert sondern einfach nur die Referenzen auf die neue Umgebogen. Und "umgebogen" wird halt nur die Kopie.. deshalb ist die Ausgabe 1 =)
kalliknuddel ist offline   Mit Zitat antworten
Ungelesen 13.07.11, 15:50   #2
mrburns
Newbie
 
Registriert seit: Dec 2009
Beiträge: 50
Bedankt: 28
mrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punkte
Standard

Zitat:
Zitat von kalliknuddel Beitrag anzeigen
Call by Value ist schon richtig^^
Allerdings wird die Speicheraddresse übergeben, sonst könnt er ja nich auf i zugreifen Oo
Da widersprichst du dir selbst
Call by Value heißt nicht umsonst so, es wird nicht die Referenz auf die Speicheradressen, sondern nur der Inhalt an die Funktion übergeben,
der dann in eine neue Speicheradresse 'gepackt' wird, nur leider wird am Ende der Funktion kein Wert und keine Speicheradresse zurückgegeben,
damit verschwindet der neue Wert im RAM-Nirvana
mrburns ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:54 Uhr.


Sitemap

().