Teil 9 : Vereinfachungen, oder das Salz in der C-Suppe |
Zuweisungen |
Nehmen wir den einfachen Fall einer Variablenerhöhung um einen
bestimmten Wert an.
A = A + 10 |
Vereinfacht wird das Ganze durch folgenden Ausdruck
A += 10 |
Diese Vereinfachungen arbeiten nach dem folgenden Schema
|
Um es etwas verständlicher darzustellen:
Vereinfachung | steht für |
|
|
|
|
|
|
|
|
Das kann man mit allen Operatoren machen. Auch mit denen, die wir später
noch kennenlernen werden.
Postfix-Operatoren |
Möchte man einen Variablen Wert nach einer Aktion, z.B. einem Schleifenablauf,
um eins erhöhen, so erfolgt dies mit derAnweisung
A++ |
Steht der Ausdruck alleine da, wird A ums 1 erhöht, da ansonsten
keine Zuweisung erfolgt. Es ist das Gleiche wie
A += 1 |
Steht der Ausdruck in einer Zuweisung,
A = B++ |
... so ist es das Gleiche, wie
A = B
B = B + 1 |
Wie man hier sehen kann, wird B erst nach der Zuweisung erhöht!
In einer Schleife mit der Zählvariablen i sieht das dann folgendermaßen
aus.
for ( i = 0 ; i < 5 ; i++ )
{
|
Um die Funktionsweise zu verdeutlichen, schauen wir uns an, wie die Schleife abgearbeitet wird.
Als erstes wird i mit 0 initialisiert und der Schleifenkörper solange abgearbeitet, solange i < 5 gilt. Beim ersten Aufruf von i++ wird der Wert übergeben, den i hat und erst danach wird i um 1 erhöht! Beim zweiten Durchgang hat i den Wert 1 der i im ersten Durchgang nachträglich zugewiesen wurde.
Nach dem selben System arbeitet auch
A-- |
wobei hier A um eins reduziert wird.
A = B-- |
steht also für
A = B
B = B - 1 |
Prefix -Operatoren |
Hier werden die zugeordneten Variablen vor der Wertübergabe erhöht/reduziert.
A = ++B |
steht folglich für
B = B+ 1
A= B |
Analog dazu gibt es natürlich auch
A = --B |
welches folgenden Effekt hat
B = B - 1
A = B |
Übungsbeispiel |
Als kleine Übung möchte ich Sie bitten, sich folgende Unterroutine
aus Beispielprogramm eines Taschenrechners anzuschauen. Es ist nicht wichtig,
ob sie die Funktionen der einzelnen Variablen verstehen. Es ist wichtig,
das sie ein Gespür entwickeln, was mit den enizelnen Variablen geschieht.
|
...das Obligatorische |
Autor: Sebastian Cyris PCDBascht@aol.com
Dieser C-Kurs dient nur zu Lehrzwecken! Eine Vervielfältigung ist ohne vorherige Absprache mit dem Autor verboten! Die verwendete Software unterliegt der GPL und unterliegt der Software beiliegenden Bestimmungen zu deren Nutzung! Jede weitere Lizenzbestimmung die der benutzten Software beiliegt, ist zu beachten!