Vorwort
Bei der Flut an Büchern, die es zur Programmiersprache C mittlerweile gibt, stellt sich natürlich die Frage: Warum sollten Sie sich gerade für dieses Buch entscheiden? Nach mehrjähriger Erfahrung mit C weiß ich, dass es schwierig ist, aus der großen Menge von Büchern immer das richtige oder das mit dem passenden Schwerpunkt zu finden. Spätestens nach dem dritten oder vierten Buch wird es ärgerlich, denn gut ein Drittel des Buchs ist mit Bibliotheksreferenzen und Werkzeugbeschreibungen gespickt.
Zudem ist es immer häufiger so, dass viele Bücher ähnlich aufgebaut sind wie die Bibel von Kernighan&Ritchie, den Erfindern und Entwicklern von C. Dazu fällt mir ein interessantes Zitat von Johann Wolfgang von Goethe ein:
Alles Gescheite ist schon gedacht worden. Man muss nur versuchen, es noch einmal zu denken.
Dieses Buch, das Sie in den Händen halten, verspricht Ihnen C pur auf allen Seiten. Es ist ein reines C-Werk, das quasi bei Adam und Eva anfängt und sich auch nicht scheut, auf komplexere Themen einzugehen. Es soll keine Konkurrenz für viele andere gute Bücher sein, sondern es soll sie ergänzen.
Ich habe mich durchgehend bemüht, nicht nur für eine bestimmte Zielgruppe zu schreiben. Es soll keines der Sorte Bücher sein, die sich ausschließlich an den Anfänger oder den Fortgeschrittenen richten, sondern soll für beide hilfreich sein. Am Titel lässt sich schon erkennen, dass Einsteiger oder Umsteiger angesprochen sind. Der fortgeschrittene Leser kann mit diesem Buch sein Wissen vertiefen. Ich empfehle dieses Buch einfach jedem, der sich intensiv mit C befassen will oder muss.
Da dieses Buch als Online-Kurs im Internet verfügbar war (und es immer noch ist), wurden die Struktur und der Inhalt – dank der Hinweise vieler Kursteilnehmer – immer mehr verfeinert und verbessert. Die einzelnen Kapitel sind jeweils ähnlich gegliedert. Zuerst erfolgt eine Erklärung, worum es geht, und dann schließt sich, falls erforderlich, eine Syntaxbeschreibung an. Ich habe besonders darauf geachtet, dass Sie zu jedem Kapitel möglichst viele ausführbare Listings vorfinden, die anschließend – wenn erforderlich – erklärt werden. In den Kapiteln selbst finden sich oft verschiedene Tipps und Hinweise.
Außerdem finden Sie auf dieser Webseite weiterführende Links zu den einzelnen Kapiteln, alle Quellcodes des Buchs zum Herunterladen und Anleitungen zu verschiedenen Compilern.
In den ersten 20 Kapiteln des Buchs lernen Sie alle Grundlagen zu C kennen. Ab Kapitel 21, so gesehen im zweiten Teil des Buchs, folgen die fortgeschrittenen Themen. Dort behandele ich dynamische Datenstrukturen (Kapitel 21) und verschiedene Algorithmen (Kapitel 22). Ein beliebter, aber leider selten in der Literatur zu findender Aspekt ist die Programmierung von Webanwendungen mit der CGI-Schnittstelle in C (Kapitel 23). Ein weiteres interessantes Thema ist die Programmierung eigener Datenbank-Clients mit der C-API von MySQL (Kapitel 24). Kapitel 25 ist der Netzwerkprogrammierung und der Cross-Plattform-Entwicklung gewidmet. Neu ist in dieser dritten Auflage mit dem Kapitel 26 ein Abschnitt zur Thread-Programmierung (genauer gesagt zu den POSIX-Threads) hinzugekommen.
Mein Dank, dass ich dieses Buch überhaupt realisieren konnte, gilt meiner Frau Fatma und meinem Sohn Jonathan, die mich immer wieder motiviert haben, obwohl ich in den letzten drei Monaten kaum noch Zeit für sie hatte. Außerdem möchte ich mich bei den Mitarbeitern des Verlags bedanken, besonders bei meiner Lektorin Judith Stevens-Lemoine, die das Projekt erst ermöglicht hat. Weitere Personen, die mir beim Schreiben des Buchs mit Rat und Tat zur Seite gestanden haben und denen ich sehr zu Dank verpflichtet bin, sind Oliver Weiss, Patrick Simon und Gerrit Bruchhäuser.
Vorwort zur 3. Auflage 

Es ist an der Zeit für die dritte Runde und eine stark verbesserte und erweiterte Auflage des Fachbuchs zur C-Programmierung. Zwar ist mit der Thread-Programmierung ein weiteres neues Kapitel hinzugekommen, aber das Hauptaugenmerk bei der Bearbeitung dieser dritten Auflage lag darauf, endlich komplett den derzeitig aktuellen C99-Standard in dieses Buch einzubinden. Ebenso wurde ein neuer Anhang (B) hinzugefügt mit einer Übersicht zu allen in der C-Standardbibliothek vorhandenen Funktionen, Makros, Konstanten und Typen. Hier wurde nichts ausgelassen.
Ich wünsche Ihnen viel Spaß mit diesem Buch. Sollten während des Lesens Unklarheiten oder Fragen aufkommen, so scheuen Sie sich nicht, mir eine E-Mail zu schicken. Ich freue mich über ein Feedback von Ihnen.
Jürgen Wolf (wolf@pronix.de)
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.