Details

C für Dummies


C für Dummies


Für Dummies 3. Auflage

von: Dan Gookin

23,99 €

Verlag: Wiley-VCH
Format: EPUB
Veröffentl.: 16.03.2021
ISBN/EAN: 9783527833382
Sprache: deutsch
Anzahl Seiten: 640

DRM-geschütztes eBook, Sie benötigen z.B. Adobe Digital Editions und eine Adobe ID zum Lesen.

Beschreibungen

C erfreut sich als Klassiker unter den Programmiersprachen großer Beliebtheit, denn es steckt nach wie vor in vielen Betriebssystemen, Schnittstellen und Treibern, aber auch in Compilern und neueren eingebetteten Systemen. Wer C lernen und dabei auch noch Spaß haben möchte, sollte zu diesem Buch vom Urvater der Dummies, Dan Gookin, greifen. Mit viel Humor und vielen anschaulichen Beispielen macht er die Programmiersprache C lebendig.
<p>Über den Autor 11</p> <p><b>Einleitung 29</b></p> <p>Was bringt es, C zu lernen? 29</p> <p>Über dieses Buch 30</p> <p>Programme in diesem Buch 30</p> <p>Törichte Annahmen über den Leser 31</p> <p>Wie dieses Buch aufgebaut ist 32</p> <p>Teil I: Das erste Programm 32</p> <p>Teil II: Grundlegendes Sprachverständnis 32</p> <p>Teil III: Einfache Datenstrukturen und Zeiger 32</p> <p>Teil IV: Daten speichern und verwalten 32</p> <p>Teil V: Der Top-Ten-Teil 32</p> <p>Symbole, die in diesem Buch verwendet werden 33</p> <p>Schlussgedanken 33</p> <p><b>Teil I: Das erste Programm 35</b></p> <p><b>Kapitel 1 In zehn Schritten zum ersten Compiler 37</b></p> <p>Die Installation der IDE 37</p> <p>Code::Blocks installieren 38</p> <p>Die Compilereinstellungen 40</p> <p>Ihr erstes Programm 43</p> <p>Welches C hätten Sie gern? 43</p> <p>An die Tastatur! 44</p> <p>Den C-Code eingeben 46</p> <p>Ihr Programm erstellen 48</p> <p>Ihr Programm ausführen 48</p> <p>Ein Wort zu Code::Blocks und Spenden 49</p> <p><b>Kapitel 2 Der (zumeist harmlose) Einstieg 51</b></p> <p>Die kurze und banale Geschichte von C 51</p> <p>Wie aus einer süßen kleinen Textdatei ein Programm wird 52</p> <p>Der Entwicklungsprozess in C 53</p> <p>Der Quelltext (oder auch Sourcecode) 54</p> <p>Der Compiler 54</p> <p>Der Linker 56</p> <p>Das erste C-Programm – eine alte Tradition 56</p> <p>Speichern! Kompilieren! Linken! Starten! 57</p> <p>Die notwendigen Editier- und Kompilierkünste 58</p> <p>Die Quelltextdatei ändern 59</p> <p>Neukompilierung (oder: Spielʼs nochmal in der Sprache C) 60</p> <p>Raus mit den alten Sachen, lasst uns was Neues machen 60</p> <p>Mit Fehlern auf Du und Du 61</p> <p>Mist! Ein Fehler Aber bevor Sie aus dem Fenster springen … 61</p> <p>Junge, was ʼn Fehler! 63</p> <p>Das fehlerhafte Programm reparieren 64</p> <p>Die fürchterlichen Linkerfehler 65</p> <p>Linkerfehler beheben 66</p> <p>Wie die Sprache C aussieht 67</p> <p>Der große Zusammenhang 67</p> <p>Stückliste 69</p> <p>Die Sprache C mit ihren Schlüsselwörtern 70</p> <p>Andere Sprachelemente von C 71</p> <p>Eingaben und Ausgaben (die hier mal was Gutes sind) 72</p> <p>Stellen Sie sich bei Herrn Computer vor 72</p> <p>Die Belohnung! 73</p> <p>Erst das Chaos, dann die Ordnung 75</p> <p>Der C-Compiler räumt sein Zimmer nicht auf 75</p> <p>Was aufheben, was wegwerfen? 75</p> <p>Organisation ist alles! 76</p> <p>Wichtige C-Regeln, an die Sie nie denken werden 77</p> <p>Das hilfreiche Regelprogramm 77</p> <p>Zeit für eine Bonusrunde 78</p> <p><b>Kapitel 3 Einfache C-Programme basteln 81</b></p> <p>printf (wer bei print an Drucken denkt, liegt falsch) 81</p> <p>Ein anderes »printf macht was Lustiges«-Programm 82</p> <p>Noch mehr lustige Texte 83</p> <p>Einige Escape-Sequenzen 85</p> <p>Das f steht für formatiert 85</p> <p>Richtʼ Euch! 86</p> <p>scanf – lassen Sie Ihren Scanner trotzdem aus! 88</p> <p>scanf richtig einsetzen 89</p> <p>scanf im scharfen Einsatz 91</p> <p>Kleine Änderungen an Whoru.c 92</p> <p>Das Wunder von %s 93</p> <p>Zeit für Experimente 93</p> <p>Bemerkungen, Kommentare und Vorschläge 95</p> <p>Darf ich um einen kurzen Kommentar bitten? 95</p> <p>Kommentarstile 96</p> <p>Wieso sind Kommentare notwendig? 96</p> <p>Bizzare Kommentare 97</p> <p>Kommentare als Schalter 98</p> <p>Vermeidung »verschachtelter« Kommentare 99</p> <p>fgets und puts 100</p> <p>Und tschüss scanf, willkommen fgets 101</p> <p>Ein unfreundliches Programmbeispiel 101</p> <p>Das finstere Geheimnis der Sprache C 101</p> <p>Sichere Dateneingaben 102</p> <p>put – put – putputput – puts 103</p> <p>Noch eine doofe Spielerei 104</p> <p>puts und Variablen 105</p> <p>Licht! Kamera! Action! puts und fgets die Zweite 105</p> <p>Mehr Spaß mit printf 107</p> <p>Das alte »Text mit printf ausgeben« 108</p> <p>Die Escape-Sequenzen von printf 108</p> <p>Das Deluxe-Testprogramm für Escape-Sequenzen 109</p> <p>Weitere Tests mit Printfun 110</p> <p>Wieder mal die Komplexität des printf-Formats 111</p> <p>Die Konvertierungszeichen von printf 112</p> <p><b>Kapitel 4 Variablen und Mathe 115</b></p> <p>Die sich ständig ändernde Variable 115</p> <p>Strings ändern sich 116</p> <p>Willkommen in der Welt der numerischen Variablen 117</p> <p>Benutzung der ersten Integervariablen 118</p> <p>Zuweisung von Werten an numerische Variablen 119</p> <p>Die Eingabe von Zahlen über die Tastatur 120</p> <p>Wie alt war Methusalem? 122</p> <p>Mehr numerische Variablen und ein bisschen Mathe 124</p> <p>Wieder auf der Jagd 124</p> <p>Eine Portion Mathe 125</p> <p>Wie lange brauchen Sie, um Methusalems Rekord zu brechen? 126</p> <p>Methusalem: Bonusrunde! Jedes Los ein Gewinn! 127</p> <p>Das unmittelbare Ergebnis 128</p> <p>Diskurse, Diskussionen und die Definition von Variablen 129</p> <p>»Warum muss ich eine Variable definieren?« 130</p> <p>Verbotene und erlaubte Variablennamen 131</p> <p>Vordefinieren von Variablen 131</p> <p>Ein x-beliebiges Beispiel für Variablen 133</p> <p>Mehrfachdeklarationen 134</p> <p>Konstanten und Variablen 135</p> <p>Träume von Freiheit und mehr Konstanz 135</p> <p>Eine praktische Abkürzung 136</p> <p>Das Schlüsselwort const 137</p> <p>Der dritte Weg 138</p> <p>Malen mit Zahlen 140</p> <p>Zahlen in C 140</p> <p>Wieso nimmt man int? 142</p> <p>Mit oder ohne Vorzeichen – das ist hier die Frage 142</p> <p>Wie bringt man eine Zahl eigentlich zum Fließen? 143</p> <p>»Hey EIX32A, lass uns mal ein Fließkommaprogramm schreiben!« 144</p> <p>Die Sache mit der E-Notation 145</p> <p>Doppelt so groß wie float? Das ist double! 147</p> <p>Bringen Sie Ihren Zahlen Format bei! 148</p> <p>Die etwas andere Variable: char 149</p> <p>Variablen mit einzelnen Zeichen 149</p> <p>Variablen mit Zeichen abfüllen 151</p> <p>Kitzelt eine Tasteneingabe den Computer? 151</p> <p>Zeichenvariablen als Werte 152</p> <p>Die erste wirkliche Mathestunde 154</p> <p>Ein sehr knapper Überblick über die Operatoren 154</p> <p>Das alte »Wie groß bist du?«-Programm 155</p> <p>Heimtückische Änderungen an unserer Größenberechnung 156</p> <p>Die hohe Kunst des Inkrementierens 157</p> <p>Weniger lustig: Gewichtszunahme 157</p> <p>Bonusprogramm! (Irgendwann nützt es Ihnen was) 158</p> <p>Wer hat den Vortritt? 160</p> <p>Ein Beispiel aus einer Examensklausur 160</p> <p>Punktrechnung vor Strichrechnung 161</p> <p>Klammern haben den Vortritt 162</p> <p><b>Teil II: Grundlegendes Sprachverständnis 165</b></p> <p><b>Kapitel 5 Wir stehen vor einer großen Entscheidung 167</b></p> <p>Die mächtige if-Anweisung 168</p> <p>Der Computer als Genie 168</p> <p>Das Schlüsselwort if ganz aus der Nähe 170</p> <p>Eine Anmerkung zur Schreibweise der if-Anweisung 174</p> <p>Die endgültige Lösung für die Steuerproblematik 174</p> <p>Gut, wennʼs nicht wahr ist, was ist es dann? 176</p> <p>Mit einem else alle Möglichkeiten abdecken 176</p> <p>Eine Anmerkung zur Schreibweise 179</p> <p>Der Sonderfall else-if und viel mehr Entscheidungen 180</p> <p>if mit Zeichen und Strings 181</p> <p>Die zahlenlose Welt von if 181</p> <p>Was ist größer: S oder T, $ oder -? 182</p> <p>if und der Vergleich von Strings 183</p> <p>Wie schreibt man richtig in C? Lektion 1 183</p> <p>Immer von oben nach unten 184</p> <p>Formatierungen des Quellcodes 184</p> <p>Einrückungen, Teil 2 185</p> <p>Vergessen wir kurz die Formatierung 186</p> <p>Andere Möglichkeiten 186</p> <p>for knüpft Schleifen 187</p> <p>Wiederholte Wiederholungen 189</p> <p>for formt die Schleifen 190</p> <p>Wie in der Grundschule: Zählen bis 100 192</p> <p>Schleifen fabrizieren 194</p> <p>Endlich – das nützliche ASCII-Programm 194</p> <p>Vorsicht, Endlosschleifen! 195</p> <p>Schleifen gewaltsam abbrechen 197</p> <p>Das Schlüsselwort break 198</p> <p>Abkürzungen und die Kunst des Inkrementierens 199</p> <p>Kryptische C-Operatoren, Teil 1: ++ 199</p> <p>Bahn frei, jetzt komm ich! 200</p> <p>Rückwärtszählen: nelhäz sträwkcüR 201</p> <p>Rückwärtszählen passt sehr gut zum for 202</p> <p>Kryptische C-Operatoren, Teil 2: −− 202</p> <p>Eine abschließende Verbesserung von Ollyolly.c 203</p> <p>Je mehr Inkrement, desto mehr Wahnsinn 204</p> <p>Schleifen mit Sprüngen 204</p> <p>Kryptische C-Operatoren, Teil 3: Jetzt wird’s verrückt 205</p> <p><b>Kapitel 6 Ihre persönlichen Funktionen 207</b></p> <p>Die allererste Funktion schreiben 207</p> <p>Dieses Programm braucht eine Funktion 209</p> <p>Die nützliche Funktion idiot() 210</p> <p>Das Tao der Funktionen 211</p> <p>Zur Namensgebung von Funktionen 212</p> <p>Ein Wort zum Prototyping 213</p> <p>Variablen innerhalb von Funktionen 215</p> <p>Bomben frei mit dem Bomber-Programm 215</p> <p>Bringt die doppelte Variable Bomber.c zur Explosion? 216</p> <p>Ein weiterführendes Beispiel 217</p> <p>Brüderliches Teilen von Werten mithilfe globaler Variablen 219</p> <p>Eine globale Variable erzeugen 219</p> <p>Ein Beispiel für eine globale Variable 220</p> <p>Funktionen ein Päckchen mit auf den Weg geben 222</p> <p>Funktionen mit einer echten Funktion 224</p> <p>Wie man einer Funktion einen Wert schickt 225</p> <p>Unbedingt lesen: Variablenwirrwarr vermeiden 226</p> <p>Mehr als einen Wert an eine Funktion übergeben 226</p> <p>Wie man Strings an Funktionen übergibt 228</p> <p>Funktionen mit Ergebnissen 230</p> <p>Endlich sagt der Computer mal was Gutes über Sie 231</p> <p>Fehlerbeseitigung in Iq.c mit dem beliebten Typecasting-Trick 232</p> <p>Mit return zurück an den Absender 234</p> <p>Gib dem Mann mal einen Bonus! 235</p> <p>Das Zwiebelschalenprinzip 237</p> <p>Funktionen arbeiten von innen nach außen 238</p> <p>Veränderungen am Programm Iq.c 239</p> <p>Ein gängiges Beispiel für if 240</p> <p>Das alte Spiel mit den Zufallszahlen 241</p> <p>Benutzung der rand-Funktion 242</p> <p>Zufallszahlen initialisieren 244</p> <p>Mehr Zufall im Zufallsprogramm 245</p> <p>Verbesserungen am Zufallszahlenprogramm 246</p> <p>Der teuflische Dr Modulo 248</p> <p>Die Würfel sind gefallen 250</p> <p><b>Kapitel 7 Feinschliff für die C-Künste 253</b></p> <p>Dieses Zeug drängelt sich immer vor (der Rest folgt dem #) 253</p> <p>Bitte vergiss mein nicht! 254</p> <p>Ihre eigene h-Datei erstellen 257</p> <p>Wofür #define gut ist 259</p> <p>Makros erwähnen wir besser erst gar nicht 260</p> <p>Wie man Eingaben vom Benutzer bekommt 262</p> <p>Die Tastatur abhören 262</p> <p>Das fürchterliche Ratespiel 263</p> <p>Die Shell beklauen (wie man die Kommandozeile abhört) 265</p> <p>Da gehen einem die Argumente aus – main passiert das nie 266</p> <p>Also, irgendwelche Argumente dafür? 267</p> <p>Anzeige der Argumente 268</p> <p>Wiederholungen sind gut 270</p> <p>Ihr Gewicht auf dem Mond 272</p> <p>Noch mehr ifs 274</p> <p>Auswertung von mehreren Bedingungen in if-Abfragen 275</p> <p>Wer ist schlauer? Melvin oder Poindexter? 277</p> <p>Gutes p, schlechtes P 279</p> <p>Weitere Weisheiten 280</p> <p>Nun zu den schlechten Nachrichten 280</p> <p>Mehr über Variablen 281</p> <p>Typecasting und andere Probleme 281</p> <p>Grundlagen der Typumwandlung 282</p> <p>Die lange und die kurze Form 282</p> <p>Die Konfusion weicht allmählich 283</p> <p>signed und unsigned 284</p> <p>unsigned Variablen haben eine negative Einstellung 285</p> <p>Faire und unfaire Variablen 286</p> <p>Ein anderes Kapitel über Zahlen (die Sache mit der Hexerei) 286</p> <p>Zahlensysteme und ihre Basis 287</p> <p>Hexereien 288</p> <p>Inhaltsverzeichnis 21</p> <p><b>Kapitel 8 Schleifen knüpfen 291</b></p> <p>Fakten zu while-Schleifen 291</p> <p>Die erste Schleife binden 292</p> <p>Das Schlüsselwort while 293</p> <p>Was ist besser geeignet: while oder for? 295</p> <p>Tausche unschönes for(;;) gegen elegantes while 296</p> <p>Den Spieß umgedreht: do-while-Schleifen 297</p> <p>while macht Kopfstände – do-while 298</p> <p>De-tail von do-while 300</p> <p>Trau niemals dem User – ein Fehler in Countdown.c 301</p> <p>Die garantiert richtige Eingabe 302</p> <p>Der bizarre Fall while TRUE (und sonstige Kuriositäten) 303</p> <p>Fragestunde 303</p> <p>Feintuning für Yorn.c 305</p> <p>»Kochen, bis es gar ist« 306</p> <p>Yorn.c als Funktion 307</p> <p>Verschachtelte Schleifen und anderer Unsinn für Angeber 309</p> <p>Verschachtelte Anwendungen 310</p> <p>Schleifen und das heimtückische switch-case 311</p> <p>Die Lösung mit switch-case 313</p> <p>Der alte Trick mit switch-case 315</p> <p>Eine besondere Beziehung zwischen while und</p> <p>switch-case 318</p> <p><b>Kapitel 9 Zwischenstand und Reste essen 321</b></p> <p>Selbsttest via Hallo, Welt! 321</p> <p>Das Hallo-Welt-Programm 322</p> <p>Weiter geht’s – ein närrisches Hallo-Welt-Programm 322</p> <p>Halt die Welt an, ich möchte aussteigen! 323</p> <p>Die Behandlung der Überbleibsel 326</p> <p>Die Lösung mittels while-Schleife 328</p> <p>Mehr über die math.h-Library 329</p> <p>Die Probleme in einer höheren Potenz 330</p> <p>Autsch! Wurzeln ziehen 333</p> <p>Lästige Mathematik? – Sie packen das 334</p> <p>Etwas wahrhaft Merkwürdiges zum Schluss 335</p> <p>Die Gefahren der Benutzung von a++ 336</p> <p>Ja, und das Gleiche gilt für -- 337</p> <p>Wiederholung des ++a-Phänomens 338</p> <p>goto-Anweisung – nein danke 338</p> <p>Was ist nun goto? 339</p> <p>Ein Beispiel, wie man goto nicht verwenden sollte 340</p> <p>Alternativen zu goto 342</p> <p>Und tschüss … – das Programm verlassen 344</p> <p>exit – der Notausgang 344</p> <p>Zuletzt das berüchtigte Ask-Programm 345</p> <p>Eine sinnlose Batchdatei als Beispiel 348</p> <p><b>Teil III: Einfache Datenstrukturen und Zeiger 349</b></p> <p><b>Kapitel 10 Arrays und Strings 351</b></p> <p>Wozu Arrays? 351</p> <p>Wie man Arrays benutzt 352</p> <p>Ein einfaches Programm, bevor es zu langweilig wird 353</p> <p>Arrays in C erstellen 354</p> <p>Auf die Elemente eines Arrays zugreifen 356</p> <p>Werte an ein Array zuweisen 357</p> <p>Alt, aber brauchbar 359</p> <p>Strings und Arrays 362</p> <p>Das Ende eines Strings (das Nullbyte) 363</p> <p>Köder auslegen 364</p> <p>Die Falle 366</p> <p>Gegen den Buffer-Overflow 367</p> <p>Arrays jeder Sorte 369</p> <p>Sortier mich, aber schnell 369</p> <p>Sortieren 371</p> <p>Eine unverschämt große Menge Zahlen sortieren 373</p> <p><b>Kapitel 11 Strings und so Zeugs 377</b></p> <p>Strings und Zeichen 377</p> <p>Das Programm »Mach mich GROSS« 378</p> <p>Eine bessere Möglichkeit, einen String zu durchlaufen 380</p> <p>Ein total verdrehter String 382</p> <p>Texte verflechten 384</p> <p>Strings in C kopieren 386</p> <p>Strings zerlegen 387</p> <p>Sesam öffne dich 390</p> <p>Stringmanipulationen 392</p> <p>Strings verbinden 392</p> <p>Die Stringfunktionen zusammengefasst 395</p> <p>Arrays jenseits der ersten Dimension 395</p> <p>Vereinbarung eines zweidimensionalen Arrays 396</p> <p>Vereinbarung eines initialisierten zweidimensionalen Arrays 397</p> <p>Zugriff auf die Elemente eines zweidimensionalen Arrays 399</p> <p>Ein Array aus Strings 400</p> <p>Arrays in der Grauzone 404</p> <p>Dreidimensionale String-Arrays 406</p> <p>Wieder hinter den sieben Bergen bei den sieben Zwergen 407</p> <p><b>Kapitel 12 Die finstersten Aspekte von C: Zeiger 411</b></p> <p>Ein unhandliches und starres Speicherkonzept 411</p> <p>Land kaufen, aber kein Haus bauen 412</p> <p>Mehr oder weniger gefräßige Variablen 414</p> <p>Die Größe eines Arrays berechnen 416</p> <p>Lange Rede, kurzer Sinn 417</p> <p>Adresse, Adresse, Adresse 418</p> <p>Ein etwas simples Programm als brauchbares Beispiel 418</p> <p>Hallo, Herr Zeiger! 420</p> <p>Das zweite Metric-Programm 421</p> <p>Die Vereinbarung der Zeigervariablen 422</p> <p>Zeiger zum Speichern von Adressen benutzen 423</p> <p>Was weiß nun das Programm? 423</p> <p>Oh Schreck – eine kleine Übung zur Selbstkontrolle 425</p> <p>Nun die Adresse der letzten Variablen 425</p> <p>Mehr Zeiger, mehr Speicher, Wahnsinn ohne Ende 427</p> <p>Römische Zahlen (und wieder eine Ausnahme) 430</p> <p>Noch mehr Römer 432</p> <p>Das total verdorbene Römer-Programm 433</p> <p>Und nun das Sternchen, bitte schön 434</p> <p>Rückblick 434</p> <p>Zeiger, die zeigen und schauen 435</p> <p>Der Zeiger als neugieriger Postbote 435</p> <p>Noch mehr Durcheinander mit den *-Zeigern 437</p> <p>Ein Zeiger und mehrere Variablen 438</p> <p>Zeiger und Arrays 439</p> <p>Ein Array mit einem Zeiger durchlaufen 440</p> <p>Nun eine wahrhaft schwer zu knackende Nuss 442</p> <p>Zeiger, Klammern, Arithmetik – puh 443</p> <p>Zeiger sollen Arrays nicht ersetzen 444</p> <p>Zeit, einen Schnitt zu machen 445</p> <p>Die Beziehung zwischen Zeigern und Array-Klammern 446</p> <p>Beseitigung aller Spuren der Array-Notation 447</p> <p>Ungläubige können ja nachprüfen 447</p> <p>Weitere Prüfung 448</p> <p>Zum guten Schluss: Der Hauptunterschied zwischen</p> <p>Zeigern und Arrays 448</p> <p><b>Kapitel 13 Erste Anwendungen der Zeiger 451</b></p> <p>Zeiger und Strings 451</p> <p>Eine unmögliche Art, einen String auszugeben 451</p> <p>Eine bessere Möglichkeit, einen String anzuzeigen 453</p> <p>Mehr Tricks 454</p> <p>Noch mehr Tricks 454</p> <p>Ein allerletzter Trick 455</p> <p>Die Tiefen der Bibliotheksdefinitionen 456</p> <p>Oh! String! String! String! 457</p> <p>Noch so eine irreführende Sache 458</p> <p>Vereinbarung eines Strings mit einem char-Zeiger 460</p> <p>Übergabe von Zeigern an Funktionen 461</p> <p>Rückblick zu Zeiger-Problemen 461</p> <p>Botschaften aus dem Jenseits 463</p> <p>Übergabe von Arrays an und von Funktionen 468</p> <p>Übergabe eines char-Arrays an eine Funktion 469</p> <p>Die verbotenen Vokale 470</p> <p>Übergabe beliebiger Arrays an Funktionen 473</p> <p>Analyse der caffeine-Funktion 476</p> <p>Funktionen, die ihre Variablen töten 477</p> <p>Arrays aus Zeigern 478</p> <p>Zeiger und Arrays 478</p> <p>Ein String-Zeiger-Array erzeugen 479</p> <p>Ein Beispielprogramm 481</p> <p>Das Zeiger-Array der Kommandozeile 482</p> <p>Was zum Kuckuck ist das nun? 483</p> <p>Zeiger (auch in Arrays) sind Variablen 485</p> <p>Sortieren von Strings mit Zeigern 486</p> <p>Ein einfaches und falsches Sortierprogramm 486</p> <p>Was war falsch? 488</p> <p>Die entsetzlichen Indirekt-Zeiger 488</p> <p>Sortieren von Strings nach allen Zeichen 491</p> <p><b>Kapitel 14 Alles über Strukturen 497</b></p> <p>Mehrfachvariablen 497</p> <p>Das Leben ohne Strukturen 498</p> <p>Mit Arrays geht es nicht viel besser 500</p> <p>Wir brauchen eine Karteikarte 501</p> <p>Fakten zu Strukturen 503</p> <p>Noch einmal das Passwort-Programm 506</p> <p>Arrays aus Strukturen 508</p> <p>Alles in einem Array 510</p> <p>Der Rest der Mannschaft von Oz 511</p> <p>Strukturkomponenten kopieren 514</p> <p>Strukturen und Funktionen 518</p> <p>Ein spezieller Rückblick: Vereinbarung einer globalen Variablen 519</p> <p>Hey, Funktion, hier kommt eine Struktur! 519</p> <p>Verschachtelte Strukturen 522</p> <p>Rückgabe einer Struktur aus einer Funktion 524</p> <p>Großer Dank gilt der Funktion malloc 530</p> <p>Ein Beispiel ohne zusätzlichen Speicherplatz 531</p> <p>Oh malloc, gib mir mehr Platz 532</p> <p>Borgen und nicht wiedergeben ist wie gestohlen 533</p> <p>Nun die richtige Speicherbereitstellung für Howdy.c 535</p> <p>Strukturen und (schon wieder!) Zeiger 537</p> <p>Was Sie brauchen, um eine Struktur im Speicher anzulegen 537</p> <p>Das erste Programm mit Zeiger und Struktur 538</p> <p>Eine leere Zeigerhülle 541</p> <p><b>Teil IV: Daten speichern und verwalten 543</b></p> <p><b>Kapitel 15 Die Festplatte als Diener 545</b></p> <p>Hello Disk! 545</p> <p>Ein kleines Textstück auf die Platte schreiben 546</p> <p>Wie die Arbeit mit Dateien funktioniert 547</p> <p>Etwas aus einer Datei lesen 550</p> <p>Versehentliches Überschreiben verhindern 552</p> <p>Binär oder Text – das ist hier die Frage 555</p> <p>Ein eigenes type-Programm 555</p> <p>Ein Dump erstellen 558</p> <p>Formatierte Ein-/Ausgabe 560</p> <p>Die formatierte Ausgabe 561</p> <p>Formatierte Eingabe aus Dateien 562</p> <p>Ein Array in eine Datei schreiben 563</p> <p>Ein Array aus der Datei lesen 564</p> <p>Daten lesen und schreiben 566</p> <p>Das Grundgerüst für ein Programm zum Speichern von Strukturen 566</p> <p>Eine Struktur in eine Datei schreiben 568</p> <p>Die Funktion write_info 569</p> <p>Die read_info-Funktion 571</p> <p><b>Kapitel 16 Dynamische Datenstrukturen 575</b></p> <p>Dynamische Arrays 575</p> <p>Arrays mit variabler Länge 576</p> <p>I’ werd’ narrisch: variable Stringlängen 578</p> <p>Kurzer Rückblick zur Datenspeicherung 580</p> <p>Wie verkettete Listen arbeiten 582</p> <p>Die erste Struktur 583</p> <p>Eine Struktur mehr und der Link darauf 584</p> <p>Und nun der Rest 586</p> <p>Die NULL kennzeichnet das Ende 588</p> <p><b>Kapitel 17 Die Geburt unserer Datenbank 591</b></p> <p>Das unvermeidliche Bankkontenprogramm 591</p> <p>Das BANK-Programm 591</p> <p>Was bereits funktioniert 595</p> <p>Datensätze aus Listen löschen 597</p> <p>Überflüssige Datensätze entfernen 598</p> <p>Die Funktion deleteAccount() 599</p> <p>Die Arbeitsweise der Funktion deleteAccount 601</p> <p>Einmal vom Speicher zur Disk und zurück 602</p> <p>Die Liste auf Platte speichern 602</p> <p>Eine verkettete Liste von Platte laden 604</p> <p><b>Teil V: Der Top-Ten-Teil 607</b></p> <p><b>Kapitel 18 Cehn Gründe für C im Jahr 2020, 2021, 2022 … 609</b></p> <p>C++, C#, Java, PHP und die anderen {} 609</p> <p>C ist schlank 609</p> <p>C ist Fahren ohne ABS und ESP 610</p> <p>C ist die Sprache der APIs und Kernel 611</p> <p>C ist 31337 611</p> <p>C ist die Sprache der Aufzüge und Kühlschränke 611</p> <p>C ist allgegenwärtig 612</p> <p>C ist die Sprache der Schnittstellen 612</p> <p>C treibt die Dinge voran 612</p> <p>C ist wichtig … 612</p> <p><b>Kapitel 19 Zehn Empfehlungen zum Schreiben unlesbarer Programme 613</b></p> <p>Lügen Sie in den Kommentaren 613</p> <p>Verwenden Sie möglichst kurze Variablennamen 614</p> <p>Nutzen Sie Copy&Paste ausgiebig 614</p> <p>Stöbern Sie im Thesaurus 614</p> <p>Legen Sie sich niemals fest 615</p> <p>Wenn’s mit dem Englisch hapert 615</p> <p>Ziehen Sie Schreibfehler konsequent durch 615</p> <p>Seien Sie modern und geben Sie Ihren Quellcode frei 616</p> <p>Finden Sie Workarounds für eigene Fehler 616</p> <p>Verzichten Sie auf lesbare Codeformatierungen 617</p> <p><b>Kapitel 20 Zehn nützliche Internetadressen zu C 619</b></p> <p>Stackoverflow 619</p> <p>A Programmer’s Heaven 619</p> <p>Codeguru.com 619</p> <p>C for Dummies 620</p> <p>Nachschlagewerk zur Bibliothek 620</p> <p>Noch ein Nachschlagewerk 620</p> <p>Der C-Standard 620</p> <p>Der Compiler – Code::Blocks 620</p> <p>Visual Studio Express Editions 621</p> <p>c++.net 621</p> <p>Stichwortverzeichnis 625</p>
Dan Gookin schrieb das erste "... für Dummies"-Buch "DOS für Dummies" und hat seitdem unzählige Bücher für die Reihe verfasst. Er versteht es besonders gut, anschaulich und humorvoll zu erklären.

Diese Produkte könnten Sie auch interessieren:

Domain Architectures
Domain Architectures
von: Daniel J. Duffy
PDF ebook
31,99 €