4.1. Änderung eines Variablenwerts: Zuweisung

Bei der Definition von Variablen wird diesen Speicherplatz zugeteilt. Zu diesem Zeitpunkt enthalten Variablen einen Zufallswert, der dem aktuellen Inhalt der betreffenden Speicherzellen entspricht. Mit Hilfe der Zuweisung kann die Variable, wie wir bereits gesehen haben, schon bei ihrer Definition mit einem Anfangswert belegt und damit initialisiert werden. Der Wert einer Variablen läßt sich unter Verwendung des Zuweisungsoperators während der Laufzeit des Programms beliebig verändern.

Als Zuweisungsoperator fungiert in C das Gleichheitszeichen (=). In allgemeiner Form kann eine Zuweisungsoperation dargestellt werden als Variable = Wert. Variable steht für den Variablennamen einer bereits definierten Variablen, der Wert kann einfach eine einzelne Konstante sein oder durch einen beliebig komplexen Ausdruck repräsentiert werden. Beispiele:


usAge = 18;
cInitial = 'K';
fSum = 33.324;

Zuweisungen werden von rechts nach links ausgewertet, d.h., was immer rechts von einem Zuweisungsoperator steht wird in der Variablen links vom Zuweisungsoperator abgelegt. In der (englischsprachigen) Literatur zu C und in Fehlermeldungen von Compilern tauchen gelegentlich die Termini lvalue und rvalue auf. Einfach gesprochen handelt es sich bei einem lvalue um ein Objekt, das auf der linken Seite eines Zuweisungsoperators stehen kann, was praktisch nichts anderes bedeutet als "Variable". Der Terminus rvalue bezieht sich auf alles, was auf der rechten Seite einer Zuweisung vorkommt, also in der Regel irgendein Ausdruck.

Die Auswertung bei der Zuweisung erfolgt also von rechts nach links und ist mithin von rechts nach links assoziativ. Die Rechts-nach-links-Assoziativität macht es möglich, daß ein Wert mehreren Variablen innerhalb ein und derselben Anweisung zugewiesen werden kann. Anstatt über drei eigenständige Anweisungen die Variablen iHeight, iWidth und iDepth mit dem Wert 50 zu belegen, kann dies auch in der Form


iHeight = iWidth = iDepth = 50;

geschehen.

Dies erfordert weniger Schreibaufwand und wurde früher gelegentlich empfohlen, weil damit auf älteren Systemen schnellerer Programmcode zu erwarten war. Bei der Verwendung moderner, optimierender Compiler spielen derartige Überlegungen im allgemeinen keine Rolle mehr. Ausschlaggebend bei der Anordnung mehrerer Zuweisungen sollte die Lesbarkeit des Programms sein, was vor allem durch Verwendung einer durchgängig einheitlichen Schreibweise und aufschlußreiche Kommentierung gewährleistet wird.