Einzelnen Beitrag anzeigen

Amandus

Registriert seit: 24. Nov 2003
4 Beiträge
 
#6

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

  Alt 25. Nov 2003, 17:56
Hallo again

Ich habe noch eine Frage:

Code:
procedure unterprogramm(var u_zahl:integer);
  begin
    u_zahl:=u_zahl*7;
  end;

begin
  .
  .
  .
  zahl:=5;
  unterprogramm(zahl);
  .
  .
  .
end.
Im Hauptprogramm wird "zahl" der Wert 5 zugewiesen. Dann wird Das Unterprogramm aufgerufen, in dem zahl mit 7 multipliziert wird. Dann gibt das Unterprogramm die Variable wieder an das Hauptprogramm zurück, in dem zahl dann 7x größer ist, als vor dem Unterprogramm.

Wieso aber weiß das Unterprogramm von "zahl"? zahl wird doch nur per "var u_zahl:integer" an das Hauptprogramm zurückgegeben aber nicht hineingegeben?! Wird eine Variable per var herausgegeben UND hineingegeben?

Fragen: Warum heißt es nicht:

Code:
procedure unterprogramm(zahl:integer;var u_zahl:integer);
  begin
    u_zahl:=u_zahl*7;
  end;

begin
  .
  .
  .
  zahl:=5;
  unterprogramm(zahl,zahl);
  .
  .
  .
end.
Ich weiß, dass das erste Beispiel funktioniert, finde es aber seltsam, da man "zahl" doch auch hineingeben sollte. Sorry für die etwas laienhafte Wortwahl, aber ich hab noch keinen Programmierer-Slang.

Amandus
  Mit Zitat antworten Zitat