17.01.2014 Aufrufe

Softwareentwicklung in C - ASC

Softwareentwicklung in C - ASC

Softwareentwicklung in C - ASC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

3.1 Hello World – das erste Beispiel 27<br />

durch e<strong>in</strong> e<strong>in</strong>ziges Zeichen repräsentiert). Es gibt e<strong>in</strong>e ganze Reihe solcher<br />

Escape-Sequenzen mit besonderen Bedeutungen, denen wir uns später noch<br />

näher zuwenden wollen. Nun mag die Frage auftauchen: “Wieso mache ich<br />

nicht e<strong>in</strong>fach mitten im Str<strong>in</strong>g im Source e<strong>in</strong>en Zeilenumbruch, dann muss<br />

ja dieser Umbruch auch ausgegeben werden?” Mitnichten – dies führt dazu,<br />

dass der Compiler meckert, denn <strong>in</strong> C s<strong>in</strong>d Str<strong>in</strong>gs so def<strong>in</strong>iert, dass das<br />

öffnende und das schließende Anführungszeichen <strong>in</strong> derselben Zeile liegen.<br />

Was? Schon ausprobiert, und es funktioniert, obwohl ich hier das Gegenteil<br />

behaupte? Ja, ok, trotzdem ist me<strong>in</strong>e Behauptung richtig – unser Compiler<br />

gcc ist da nur schon etwas moderner und freundlicher und versteht, was<br />

wir damit machen wollen. Trotzdem empfehle ich nicht, dies zu verwenden,<br />

denn es gibt andere Compiler, die das gar nicht leiden können. Wir<br />

würden auf diese Art bloß e<strong>in</strong> Programm erzeugen, das von e<strong>in</strong>em Compiler<br />

übersetzt wird, und von anderen nicht. Dies ist sicher nicht im S<strong>in</strong>ne<br />

des Erf<strong>in</strong>ders. Der Albtraum e<strong>in</strong>es jeden Softwareentwicklers ist e<strong>in</strong> Programm<br />

mit vielen MB Source-Code, das bei der Portierung auf e<strong>in</strong> neues<br />

Zielsystem vom dortigen Compiler verweigert wird, nur weil jemand den<br />

Standard nicht e<strong>in</strong>gehalten hat. Was es bedeutet, aus vielen MB Source-<br />

Code Inkonsistenzen herauszuf<strong>in</strong>den und zu bere<strong>in</strong>igen, überlasse ich der<br />

Phantasie der Leser.<br />

• Sehen wir uns die Zeile mit dem pr<strong>in</strong>tf Statement an, so fällt auf, dass<br />

diese mit e<strong>in</strong>em Strichpunkt abgeschlossen ist. Das kommt daher, dass<br />

<strong>in</strong> C e<strong>in</strong>e (logische) Programmzeile durch e<strong>in</strong>en Strichpunkt abgeschlossen<br />

se<strong>in</strong> muss. Dadurch ist es möglich, e<strong>in</strong>e logische Zeile auch <strong>in</strong> mehrere<br />

physikalische Zeilen aufzuteilen. Dies macht die ganze Sache bei längeren<br />

Statements etwas lesbarer.<br />

• Last, but not least, gibt es <strong>in</strong> unserem Programm noch diese geschwungenen<br />

Klammern. Wozu s<strong>in</strong>d die nun wieder gut? Nun, <strong>in</strong> C können<br />

mehrere Anweisungen zu Blöcken gruppiert werden, was genau durch diese<br />

geschwungenen Klammern passiert. E<strong>in</strong>e Def<strong>in</strong>ition e<strong>in</strong>er Funktion, wie<br />

hier eben ma<strong>in</strong>, verlangt e<strong>in</strong>en solchen Block als ihren ausführbaren Teil.<br />

Was würde denn auch sonst ausgeführt werden, wenn sie aufgerufen wird?

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!