Jewiki unterstützen. Jewiki, die größte Online-Enzyklopädie zum Judentum.
Helfen Sie Jewiki mit einer kleinen oder auch größeren Spende. Einmalig oder regelmäßig, damit die Zukunft von Jewiki gesichert bleibt ... Vielen Dank für Ihr Engagement! (→ Spendenkonten) |
How to read Jewiki in your desired language · Comment lire Jewiki dans votre langue préférée · Cómo leer Jewiki en su idioma preferido · בשפה הרצויה Jewiki כיצד לקרוא · Как читать Jewiki на предпочитаемом вами языке · كيف تقرأ Jewiki باللغة التي تريدها · Como ler o Jewiki na sua língua preferida |
Zuweisung
Unter einer Zuweisung (englisch 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.
Bevor eine Zuweisung eines Wertes an eine Variable erfolgen kann, ist es in vielen Programmiersprachen erforderlich, diese explizit zu deklarieren. 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 und a
ein Ausdruck (englisch expression). Die Beispiele zeigen einige Notationen in unterschiedlichen Programmiersprachen.
- v = a
- Java, C, C++, C#, Python, Visual Basic .NET, PHP, JavaScript, Perl, Objective-C, Swift, Go, Ruby
- v := a
- Ada, ALGOL, Eiffel, Modula-2, Oberon, Pascal, Seed7, Smalltalk
- set v a
- Tcl
- MOVE a TO v
- COBOL
- COMPUTE v = a
- COBOL
Syntaktische Eigenheiten
Die Zuweisung kann in den Fällen, wo sie nur mit einem einfachen Gleichheitszeichen symbolisiert wird, leicht mit dem mathematischen Gleichheitszeichen verwechselt werden. Die seit der Erfindung von FORTRAN häufig in Programmiersprachen zu findende Zuweisung zu einer Variablen mit dem Gleichheitszeichen (zum Beispiel x = y) kann daher leicht zu Irritationen oder Verwechslungen führen: die beiden Zuweisungen x = y (Zuweisung des Wertes der Variablen y zur Variablen x) und y = x (Zuweisung des Wertes der Variablen x zur Variablen y) haben jeweils eine völlig andere Bedeutung als die beiden entsprechenden booleschen Ausdrücke mit relationalen Operatoren (Vergleich auf Gleichheit von x und y), die in beiden Fällen zu einem identischen booleschen Ergebnis führen.[1]
Erschwerend kommt in einigen Programmiersprachen hinzu, dass die Zuweisung in andere Anweisungen integriert werden kann, wenn sie selber als ein Ergebniswert interpretiert werden kann. Die folgenden beiden Beispiele zeigen zwei Varianten einer entsprechenden Programmsequenz in der Programmiersprache C, die beide sehr leicht zu übersehenden Programmierfehlern führen kann:
int i = 0; if (i = 1) { Dieser Block wird immer ausgeführt, weil die Zuweisung i = 1 immer das numerische Ergebnis 1 hat, was als der boolesche Wert "wahr" interpretiert wird. }
int i = 0; if (i == 1) { Dieser Block wird nie ausgeführt, weil die Vergleichsoperation i == 1 immer das numerische Ergebnis 0 hat, was als der boolesche Wert "falsch" interpretiert wird. }
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
und v2
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.
Einzelnachweise
- ↑ Nikolaus Wirth: Good Ideas, Through the Looking Glass, Abschnitt 4.1 Notation and Syntax (PDF; 207 kB), Zürich (2005)
Dieser Artikel basiert ursprünglich auf dem Artikel Zuweisung aus der freien Enzyklopädie Wikipedia und steht unter der Doppellizenz GNU-Lizenz für freie Dokumentation und Creative Commons CC-BY-SA 3.0 Unported. In der Wikipedia ist eine Liste der ursprünglichen Wikipedia-Autoren verfügbar. |