5.1 Was ist ein Byte, und wie werden Zahlen in C gespeichert?
91
5.2 Was ist eine Variable, und was ist ein Variablentyp?
92
5.3 Was ist ein Operand?
93
5.4 Was ist ein Parameter?
93
5.5 Wie speichert ein Prozessor Variablen, Parameter und Operanden?
93
5.6 Was sind Speicheradressen, und warum sind sie wichtig für C?
93
5.7 Deklaration und Definition von Variablen
94
5.8 Array-Datentypen (Datenfelder)
96
5.9 Standard-Datentypen
96
5.9.1 Der Datentyp »int« (Integer), Standardgröße 2 Byte
97
5.9.2 Verwendung des Datentyps »int«
98
5.9.3 Der Datentyp »long«, Standardgröße 4 Byte
101
5.9.4 Der Datentyp »long long«, Standardgröße 8 Byte
102
5.9.5 Der Datentyp »short«, Größe 2 Byte
102
5.10 Ganzzahlige Typen mit vorgegebener Breite - <stdint.h>
103
5.10.1 <inttypes.h> (ab C99)
105
5.11 Die Gleitpunkttypen »float« und »double«
107
5.11.1 Gleitpunkttypen im Detail
109
5.11.2 »float« im Detail
109
5.11.3 »double« im Detail
110
5.11.5 long long double
111
5.11.6 Einiges zu n-stelliger Genauigkeit
111
5.11.7 Numerische Gleitpunktprobleme
113
5.12 Komplexe Gleitpunkttypen - <complex.h>
115
5.13 Der Datentyp »char«, Standardgröße 1 Byte
117
5.14 Nationale contra internationale Zeichensätze
123
5.14.1 Der Breitzeichen-Typ »wchar_t«, Größe 2 Byte
125
5.14.2 Multibyte-Zeichen, Größe 2, 4 oder 8 Byte
126
5.15 Boolesche Werte - <stdbool.h>
127
5.16 Der Unterschied zwischen vorzeichenlosen und vorzeichenbehafteten Zahlen
128
5.17 Limits für Ganzzahl- und Gleitpunktdatentypen
130
5.19 Numerische Konstanten
134
5.19.1 Ganzzahlkonstanten
134
5.19.2 Gleitpunktkonstanten
135
5.19.3 Zeichenkonstanten
135
5.19.4 Stringliterale (Stringkonstanten)
136
5.20 Umwandlungsvorgaben für formatierte Ein-/Ausgabe
136
9.1 Verzweigungen mit der »if«-Bedingung
188
9.1.1 Anweisungsblöcke
188
9.2 Die Verzweigung mit »else if«
192
9.3 Die Verzweigung mit »else«
194
9.4 Der !-Operator (logischer NOT-Operator)
198
9.5 Logisches UND (&&) - logisches ODER (||)
200
9.6 Der Bedingungsoperator »?:«
203
9.7 Fallunterscheidung: die »switch«-Verzweigung
205
9.8 Die »while«-Schleife
210
9.8.1 Endlosschleifen mit »while«
212
9.8.2 Fehlervermeidung bei »while«-Schleifen
213
9.9 Die »do while«-Schleife
214
9.10 Die »for«-Schleife
219
9.10.1 Einsatzmöglichkeiten der »for«-Schleife
222
9.11 Kontrollierter Ausstieg aus Schleifen mit »break«
227
9.12 Direkte Sprünge mit »goto«
229
9.13 Einige Anmerkungen zum Notationsstil, ehe Sie weiterlesen
229
9.14 Einige Anmerkungen zu einem guten Programmierstil
230
10.1 Was sind Funktionen?
233
10.2 Wozu dienen Funktionen?
234
10.3 Definition von Funktionen
234
10.5 Funktionsdeklaration
237
10.6 Lokale Variablen
239
10.7 Globale Variablen
241
10.8 Statische Variablen
243
10.9 Schlüsselwörter für Variablen - Speicherklassen
244
10.10 Typ-Qualifizierer
245
10.11 Geltungsbereich von Variablen
246
10.12 Speicherklassen-Spezifizierer für Funktionen
248
10.13 Datenaustausch zwischen Funktionen
249
10.14 Wertübergabe an Funktionen (Call-by-Value)
250
10.15 Der Rückgabewert von Funktionen
254
10.16 Die Hauptfunktion »main()«
256
10.17 Was bedeutet der Rückgabewert beim Beenden eines Programms?
258
10.17.1 Programmende auswerten
259
10.18 Funktionen der Laufzeitbibliothek
262
10.19 Getrenntes Kompilieren von Quelldateien
263
10.20 Rekursive Funktionen (Rekursion)
265
10.20.1 Exkurs: Stack
265
10.20.2 Rekursionen und der Stack
266
10.20.4 Fibonacci-Zahlen
272
10.20.5 Größter gemeinsamer Teiler (ggT)
273
10.21 »inline«-Funktionen
278
16.1 Benutzerdefinierte Typendefinitionen mit »typedef«
479
16.2 Was ist ein strukturierter Datentyp, und wozu benötigt man ihn in C?
479
16.3 Strukturen mit »typedef struct« deklarieren
480
16.4 Initialisierung und Zugriff auf Strukturen
482
16.4.1 Bestimmte Elemente initialisieren
487
16.5 Strukturen als Wertübergabe an eine Funktion benutzen
491
16.6 Strukturen als Rückgabewert einer Funktion benutzen
493
16.7 Strukturen miteinander vergleichen
495
16.8 Arrays von Strukturen erstellen
497
16.9 Strukturen in Strukturen (Nested Structures)
504
16.10 Weitere spezielle Datentypen
514
16.10.2 Der Aufzählungstyp »enum«
521
16.10.3 Weitere Typdefinitionen mit »typedef«
523
16.11 Attribute von Strukturen verändern
524
16.13 Das »offsetof«-Makro
535
19 Arbeiten mit variabel langen Argumentlisten - <stdarg.h>
705
19.1 Was ist eine Ellipse, und wie werden mit ihr Parameter übergeben?
705
19.2 Wie kann man mit <stdarg.h> die Parameterliste abfragen?
706
19.3 Makros in <stdarg.h> - »va_list«, »va_arg«, »va_start« und »va_end«
706
19.4 Die Argumentliste am Anfang oder Ende kennzeichnen
707
19.5 »vprintf()«, »vsprintf()«, »vfsprintf()« und »vsnsprintf()«
712
19.6 Variadic Makros - __VA_ARGS__
716