30.06.2013 Aufrufe

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

20 2. Datentypen und Variablen<br />

Vorsicht Falle: Annahmen über den zugrunde liegenden Zeichensatz auf<br />

e<strong>in</strong>er Plattform s<strong>in</strong>d nicht zulässig. Aus diesem Grund sollen niemals Characters<br />

im Programm hardcodiert durch ihren Character-Code def<strong>in</strong>iert werden.<br />

Weiters ist ke<strong>in</strong>esfalls garantiert, dass es im Zeichensatz des Zielsystems<br />

bestimmte Sonderzeichen (z.B. deutsche Umlaute) überhaupt gibt.<br />

Das Thema der Zeichensätze ist leider ohneh<strong>in</strong> e<strong>in</strong> sehr Leidiges, da gerade<br />

hier praktisch seit der Erf<strong>in</strong>dung der Computer viele parallele “Standards”<br />

existieren.<br />

2.2 Deklaration, Def<strong>in</strong>ition und Initialisierung<br />

Nachdem jetzt zum<strong>in</strong>dest bekannt ist, welche primitiven Datentypen für Variablen<br />

zur Verfügung stehen, wird es Zeit, diese auch wirklich zu verwenden.<br />

Dazu möchte ich gleich zu Beg<strong>in</strong>n e<strong>in</strong>e Def<strong>in</strong>ition der Begriffe Deklaration,<br />

Def<strong>in</strong>ition und Initialisierung anführen, denn diese Begriffe werden fast<br />

durchgehend <strong>in</strong> der Literatur völlig durchmischt und nur allzu oft gänzlich<br />

falsch verwendet.<br />

Deklaration: Etwas zu deklarieren bedeutet, e<strong>in</strong>en H<strong>in</strong>weis zu geben, dass<br />

es “irgendwo” so etwas gibt. Im Falle e<strong>in</strong>er Variable bedeutet damit e<strong>in</strong>e<br />

Deklaration e<strong>in</strong>fach nur e<strong>in</strong>en H<strong>in</strong>weis an den Compiler:<br />

Es gibt e<strong>in</strong>e Variable unter e<strong>in</strong>em bestimmten Namen mit e<strong>in</strong>em bestimmten<br />

Typ. Sollte genau dieser Variablenname irgendwo verwendet werden,<br />

dann weißt du, wie sie zu behandeln ist.<br />

Im Falle e<strong>in</strong>er Variable bedeutet deklarieren def<strong>in</strong>itiv nicht, sie anzulegen<br />

und für sie Speicher zu reservieren, obwohl sich diese Fehlverwendung<br />

des Begriffs durch die Literatur durchzieht. Speicher reservieren, etc. ist<br />

e<strong>in</strong>e Def<strong>in</strong>ition!<br />

Def<strong>in</strong>ition: Etwas zu def<strong>in</strong>ieren bedeutet, es tatsächlich mit allen Konsequenzen<br />

anzulegen. Im Falle e<strong>in</strong>er Variable wird z.B. <strong>in</strong>tern der Code e<strong>in</strong>gesetzt,<br />

der entsprechenden Speicherplatz reserviert, etc.<br />

E<strong>in</strong>er der Hauptgründe, warum die Begriffe Deklaration und Def<strong>in</strong>ition<br />

so oft vermischt werden, ist, weil <strong>in</strong> den meisten Programmiersprachen,<br />

so auch <strong>in</strong> C ++, die Deklaration nicht explizit stattf<strong>in</strong>den muss (aber<br />

kann!), sondern die Deklaration auch implizit bei der Def<strong>in</strong>ition passieren<br />

kann.<br />

Initialisierung: Etwas zu <strong>in</strong>itialisieren bedeutet, ihm beim Anlegen e<strong>in</strong>en<br />

Startwert zuzuweisen. Dies kann <strong>in</strong> den meisten Programmiersprachen,<br />

auch <strong>in</strong> C ++, im Rahmen e<strong>in</strong>er Def<strong>in</strong>ition geschehen, aber niemals bei<br />

e<strong>in</strong>er expliziten Deklaration. Im Pr<strong>in</strong>zip sonnenklar, denn wo nichts<br />

angelegt wird, dort kann auch nichts zugewiesen werden!

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!