- Zuweisung
-
Unter einer Zuweisung (engl. assignment) versteht man in einer imperativen Programmiersprache einen Typ von Anweisung (englisch 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 (zum Beispiel Aufruf einer Prozedur mit Nebeneffekten), spricht man nur dann von einer Zuweisung, wenn der Zuweisungsoperator der jeweiligen Programmiersprache verwendet wird. Viele Programmiersprachen berücksichtigen hierbei die Zuweisungskompatibilität der beteiligten Ausdrücke und Variablen, um Programmfehler zu vermeiden.
Die Zuweisung darf in den Fällen, wo sie nur mit einem einfachen Gleichheitszeichen symbolisiert wird, 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.
Bevor eine Zuweisung eines Wertes an eine Variable erfolgen kann, muss diese deklariert werden. In manchen Programmiersprachen wird dies bei einer Zuweisung an eine noch nicht deklarierte Variable implizit ausgeführt (zum Beispiel in Perl, nicht aber in C++).
Notation
Im Folgenden sei
v
eine Variable unda
ein Ausdruck (englisch 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.