C für Dummies. Dan Gookin
Чтение книги онлайн.

Читать онлайн книгу C für Dummies - Dan Gookin страница 24

Название: C für Dummies

Автор: Dan Gookin

Издательство: John Wiley & Sons Limited

Жанр: Программы

Серия:

isbn: 9783527833382

isbn:

СКАЧАТЬ keine Zeilennummer angegeben, aber man sieht zumindest den beanstandeten Begriff. Benutzen Sie die Suchfunktion des Texteditors, um nach dem Begriff im Quelltext zu suchen. Die Beseitigung läuft immer gleich, egal, welchen Grund es gibt: ändern und neu kompilieren.

      Linkerfehler bedeuten, dass das Programm nicht erzeugt wurde. Das ist gut, denn ohne das fehlende Stück würde die exe-Datei Ihren Computer abstürzen lassen.

      Eine häufig vorkommende Aussage in der Computerprogrammierung ist, dass man häufiger Fehler beseitigt als Programme schreibt. Fehler sind überall, und die Beseitigung kann Jahre dauern, deswegen ist es auch so schwierig, gute Software zu schreiben.

      Syntaxfehler: Die häufigsten und am leichtesten zu findenden Fehler; der Compiler entdeckt diese Fehler bei der Übersetzung des Quelltextes. Die meisten Syntaxfehler sind Tippfehler oder ähnliche Kleinigkeiten. Normalerweise zeigt der Compiler diese mit genauem Ort und Grund an.

      Linkerfehler: Kommen als Erstes ins Spiel, wenn Anweisungen falsch geschrieben werden. In fortgeschrittener Programmierung, wenn man mit vielen Quelltextdateien oder Modulen arbeitet, deuten Linkerfehler auf fehlende oder fehlerhafte Module hin. Außerdem kann dies passieren, wenn der Linker eine spezielle Bibliotheksdatei (Library oder kurz Lib) sucht und nicht findet. Auch hier wird ein Linkerfehler mit einem etwas anderen Text erzeugt.

      Laufzeit- oder Runtimefehler: Ereignen sich, während das Programm läuft. Dies sind keine Bugs – das sind Dinge, die für Compiler und Linker absolut akzeptabel sind, aber nicht genau das, wofür sie eigentlich von Ihnen gedacht waren (das ist in C nichts Ungewöhnliches). Der häufigste Laufzeitfehler ist ein Zugriff auf einen Nullzeiger. Geduld, das lernen Sie noch später.

      Bugs: Der schwierigste Typ Fehler, dem Sie begegnen. Der Compiler erzeugt exakt das Programm gemäß Ihren geschriebenen Anweisungen, aber ob das Programm das Gewünschte tut, stellt sich erst bei Tests heraus. Falls nicht, müssen Sie am Quelltext noch etwas arbeiten. Bugs umfassen alles von zu langsamer Geschwindigkeit bis zu Dingen, die nur manchmal oder gar nicht funktionieren. Diese Fehler sind am schwersten zu entdecken und ein hochgradiger Frustrations- und Demotivationsgrund. Übrigens auch für Ihre Anwender oder Kunden.

      Jede neue Sprache wirkt verwirrend auf Sie. Ihre Muttersprache hat einen bestimmten Verlauf oder ein Wortmuster. Und die ganzen Buchstaben passen irgendwie zueinander. An fremde, neuartige Dinge gewöhnt man sich am besten durch Übung und Benutzung. Aber Sie brauchen eine Straßenkarte, damit Sie die Dinge einordnen können. Es macht keinen Sinn, blind ein C-Programm einzutippen, wenn Sie nicht die geringste Ahnung haben, was abläuft.

       Der große Zusammenhang

image

      In allen C-Programmen ist der Einsprungpunkt die Funktion main(). Jedes C-Programm hat eine, auch Goodbye.c und die anderen Programme, die Sie bisher geschrieben haben. Die main()-Funktion ist die Maschine, die das Programm zum Leben erweckt und den Text am Bildschirm erzeugt.

      Andere C-Programme verrichten andere Arbeiten in ihren main()-Funktionen. Aber egal, was da steht, es ist immer die erste Anweisung für den Computer, sobald das Programm gestartet wird.

       main() ist der Name der ersten (beziehungsweise höchsten) Funktion in jedem C-Programm. C-Programme können auch andere Funktionen enthalten, aber main() ist die wichtigste.

       Wenn man eine Funktion aus einem C-Programm erwähnt, schreibt man hinter den Namen Klammern, so wie in main(). Das hat nichts zu bedeuten, jeder macht das und wir werden es auch tun.

       Bei einigen Fehlermeldungen haben Sie vielleicht auch schon den Hinweis gelesen »… in function main«. Dies bedeutet, dass der Fehler innerhalb der Funktion main() aufgetreten ist.

       Eine Funktion ist eine Maschine – eine Ansammlung von Anweisungen, die etwas tun. C-Programme können eine Menge Funktionen haben, aber die main()-Funktion ist die oberste und wichtigste in einem C-Programm. Sie darf nicht fehlen.

       Funktion. Funktion. Funktion. Gewöhnen Sie sich an das Wort.

       Stückliste

      Hier einige interessante Teile unseres letzten C-Programms:

      1 #include wird auch Präprozessor-Direktive genannt, was ziemlich eindrucksvoll klingt und auch nicht unbedingt der richtige Begriff sein muss, aber Sie müssen sich das nicht merken. Sie bewirkt, dass der Compiler an dieser Stelle ein anderes Programm oder eine Datei einfügt (oder inkludiert, wie man auch auf Neudeutsch hochtrabend sagen kann). Dies spart in der Regel eine Menge Arbeit.

      2 <stdio.h> ist ein Dateiname in spitzen Klammern (was man als den Versuch von C deuten kann, Sie dazu zu zwingen, sämtliche Klammerarten zu kennen). Die ganze Zeile #include <stdio.h> sagt dem Compiler, dass er die Datei Stdio.h, die Standardeingabe- und -ausgabeanweisungen (englisch input/output), benutzen soll.

      3 int main bezeichnet die Funktion main. Das int bezeichnet den Typ der Funktion oder das, was die Funktion erzeugt. Jedes C-Programm erzeugt mindestens eine Zahl, selbst unser kleines Beispiel; das int steht für die Erzeugung einer ganzen Zahl.

      4 Zwei leere runde Klammern folgen dem Funktionsnamen. Teilweise stehen noch Dinge zwischen den Klammern, dazu kommen wir in Kapitel 6.

      5 Die geschweiften Klammern fassen die Bestandteile der Funktion ein. Alles zwischen { und } gehört in Abbildung 2.2 zur Funktion main().

      6 printf ist eine andere Funktion, die den Computer etwas Bestimmtes tun lässt.

      7 Zum printf gehören auch runde Klammern, diesmal allerdings mit Inhalt. Sie fassen hier Text oder auch einen sogenannten String ein. Alles zwischen den Anführungszeichen " und " ist Teil des Strings.

      8 Ein interessanter Teil des Strings ist das \n. Es handelt sich um einen Backslash mit einem kleinen n. Dies stellt das gleiche Zeichen dar, das auch durch die -Taste erzeugt wird. Es beendet den String mit einer »neuen Zeile«.

      9 Wie bereits erwähnt, muss jedes C-Programm etwas erzeugen, aber eigentlich sind wir noch gar nicht so weit. Wir liefern als Ergebnis einfach eine 0 zurück, was die Aufgabe von return ist.

      10 Schlussendlich СКАЧАТЬ