- Mehrfachzuweisung
-
Unter einer Zuweisung (engl. assignment) versteht man in einer imperativen Programmiersprache einen Typ von Anweisung (engl. statement), durch den eine Variable einen neuen Wert erhält. In Abgrenzung von anderen Anweisungstypen, die ebenfalls den Wert einer Variablen verändern können (z. B. Aufruf einer Prozedur mit Nebeneffekten), spricht man nur dann von einer Zuweisung, wenn der Zuweisungsoperator der jeweiligen Programmiersprache verwendet wird.
Die Zuweisung darft nicht mit dem mathematischen Gleichheitszeichen verwechselt werden. Mathematisch ist die Anweisung i = i + 1 sinnlos. Programmtechnisch bedeutet dies: Der Variablen i wird ein um eins erhöhter Wert zugewiesen.
Notation
Im Folgenden sei
v
eine Variable unda
ein Ausdruck (engl. expression). Die Beispiele zeigen einige Notationen in unterschiedlichen Programmiersprachen.- v = a
- C, C++, C#, Fortran, Java, Windows PowerShell
- v := a
- ALGOL, Modula-2, Oberon, Pascal, Smalltalk
- set v a
- Tcl
- MOVE a TO v
- COBOL
- COMPUTE v = a
- COBOL
Mehrfachzuweisungen
In manchen Programmiersprachen ist es auch möglich, mehrere Zuweisungen innerhalb einer Anweisung zu formulieren. So können etwa auf der linken Seite des Zuweisungs-Operators mehrere Variablen-Namen und auf der rechten Seite mehrere Ausdrücke jeweils durch Kommata getrennt notiert werden.
v1,v2 = a1,a2 Ruby ($v1,$v2) = ($a1,$a2) Perl $v1,$v2 = $a1,$a2 Windows PowerShell
In Programmiersprachen, die Mehrfachzuweisungen unterstützen, lassen sich mit einem Konstrukt der Form
v1,v2 := v2,v1
die Werte der beiden Variablen
v1
undv2
austauschen. Erlaubt eine Sprache keine Mehrfachzuweisungen, dann benötigt man im allgemeinen Fall eine Hilfsvariable, um die Inhalte zweier Variablen auszutauschen; man spricht dann von einem Dreieckstausch.
Wikimedia Foundation.