Einzelnen Beitrag anzeigen

Benutzerbild von Christian S.
Christian S.

Registriert seit: 19. Apr 2003
Ort: Düsseldorf
835 Beiträge
 
#4

Re: Variablenübergabe - erklärt mir das einer?

  Alt 24. Nov 2003, 22:25
Dein Unterprogramm ist noch nicht ganz richtig. Denn im Unterprogramm willst Du ja nicht mit den Variablen a und b arbeiten (die im Hauptprogramm deklariert wurden), sondern mit den Parametern m und n. Auch hast Du vergessen p einen Typen zuzuweisen. Es muss also heißen:
Delphi-Quellcode:
procedure unterprogramm(m,n:real;var p : real)
var o:real;
begin
  o:=m+n;
  p:=o*p;
end;
Zu Deiner letzten Frage muss ich dann doch nochmal was weiter ausholen und meine vorigen Erklärungen ergänzen. Also noch einmal zu "call by reference": Wenn Du schreibst, der Wert von p an c überwiesen wird, ist das nicht ganz korrekt. (Kannste ja auch nicht wissen.) Denn im Grunde genommen ist p nur ein Zweitname für c.
Eine Variable ist ja eigentlich nur ein Speicherbereich. Und mit "c" sagst Du dem Compiler nur, auf welchen Bereich im Speicher er zugreifen soll. Wenn Du nun eine Variable durch "call by reference" übergibst (z.B. als p), dann greifst Du mit "p" auf denselben Speicherbereich zu wie mit "c". Der Wert von p wird also nicht an c "überwiesen", sondern der Wert p ist der Wert von c.

Ich hoffe, das alles nicht zu viel auf einmal!

MfG
Peter
Christian S.
Admin in der Entwickler-Ecke
  Mit Zitat antworten Zitat