C als erste Programmiersprache: mit den Konzepten von C11
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Wiesbaden
Springer Vieweg
2014
|
Ausgabe: | 8., überarb. und erw. Aufl. |
Schlagworte: | |
Online-Zugang: | Inhaltstext Inhaltsverzeichnis |
Beschreibung: | XX, 727 S. Ill., graph. Darst. |
ISBN: | 3834818585 9783834818584 |
Internformat
MARC
LEADER | 00000nam a22000008c 4500 | ||
---|---|---|---|
001 | BV042092573 | ||
003 | DE-604 | ||
005 | 20220328 | ||
007 | t | ||
008 | 140926s2014 gw ad|| |||| 00||| ger d | ||
015 | |a 14,N35 |2 dnb | ||
016 | 7 | |a 105584662X |2 DE-101 | |
020 | |a 3834818585 |c pbk |9 3-8348-1858-5 | ||
020 | |a 9783834818584 |c pbk : EUR 24.99 (DE), EUR 25.69 (AT), sfr 31.50 (freier Pr.) |9 978-3-8348-1858-4 | ||
024 | 3 | |a 9783834818584 | |
035 | |a (OCoLC)889425250 | ||
035 | |a (DE-599)DNB105584662X | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-HE | ||
049 | |a DE-92 |a DE-523 |a DE-860 |a DE-Aug4 |a DE-11 |a DE-M347 |a DE-521 |a DE-859 |a DE-29T |a DE-634 |a DE-91G |a DE-B768 |a DE-858 | ||
082 | 0 | |a 005.133 |2 22/ger | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a 004 |2 sdnb | ||
084 | |a DAT 358f |2 stub | ||
100 | 1 | |a Goll, Joachim |d 1947- |e Verfasser |0 (DE-588)118104276 |4 aut | |
245 | 1 | 0 | |a C als erste Programmiersprache |b mit den Konzepten von C11 |c Joachim Goll ; Manfred Dausmann |
250 | |a 8., überarb. und erw. Aufl. | ||
264 | 1 | |a Wiesbaden |b Springer Vieweg |c 2014 | |
300 | |a XX, 727 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a C |g Programmiersprache |0 (DE-588)4113195-2 |2 gnd |9 rswk-swf |
655 | 7 | |8 1\p |0 (DE-588)4151278-9 |a Einführung |2 gnd-content | |
689 | 0 | 0 | |a C |g Programmiersprache |0 (DE-588)4113195-2 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Dausmann, Manfred |d 1951- |e Verfasser |0 (DE-588)124453880 |4 aut | |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe |z 978-3-8348-2271-0 |
856 | 4 | 2 | |m X:MVB |q text/html |u http://deposit.dnb.de/cgi-bin/dokserv?id=4755984&prov=M&dok_var=1&dok_ext=htm |3 Inhaltstext |
856 | 4 | 2 | |m DNB Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027533402&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-027533402 |
Datensatz im Suchindex
_version_ | 1806329184495075328 |
---|---|
adam_text |
INHALTSVERZEICHNIS
1 EINFUEHRUNG IN DIE PROGRAMMIERSPRACHE C 1
1.1 DAS ERSTE PROGRAMM 2
1.2 URSPRUNG UND ZIELE VON C 5
1.3 STANDARDISIERUNG, VON C 6
1.3.1 DER C99-STANDARD 7
1.3.2 DER C11
-STANDARD 8
1.4 EIGENSCHAFTEN VON C 8
1.5 C UND C++ 10
1.6 STAMMBAUM IMPERATIVER PROGRAMMIERSPRACHEN 11
1.7 ABSTRAKTIONSGRAD VON PROGRAMMIERSPRACHEN 12
1.7.1 ABSTRAKTION BEI AUSDRUECKEN 13
1.7.2 ABSTRAKTION BEI KONTROLLSTRUKTUREN 14
1.7.3 DATENABSTRAKTION 15
1.8 ZUSAMMENFASSUNG 16
2 EINFACHE BEISPIELPROGRAMME 19
2.1 AUSGABE AUF DEM BILDSCHIRM 20
2.1.1 KOMMENTARZEILE 21
2.1.2 INCLUDE-ANWEISUNG 21
2.1.3 LEERZEILEN 21
2.1.4 DIE FUNKTION MAIN() 21
2.1.5 GESCHWEIFTE KLAMMEM 22
2.1.6 STRICHPUNKT 23
2.1.7 DEFINITIONEN UND ANWEISUNGEN 23
2.1.8 DIE FUNKTION PRINTF() 23
2.1.9 FOR-SCHLEIFE 24
2.1.10 INKLUDIEREN VON BIBLIOTHEKSFUNKTIONEN 24
2.2 LOKALE VARIABLEN, AUSDRUECKE UND SCHLEIFEN 25
2.2.1 VARIANTE MIT SYMBOLISCHEN KONSTANTEN UND INT-VARIABLEN 25
2.2.2 VARIANTE OHNE SYMBOLISCHE KONSTANTEN 27
2.2.3 VARIANTE MIT EINER DOUBLE-VARIABLEN 28
2.3 ZAHLEN VON DER TASTATUR EINLESEN 29
2.4 FORMATIERUNG BEI DER AUSGABE 30
2.5 ZUSAMMENFASSUNG ! 32
HTTP://D-NB.INFO/105584662X
X
INHALTSVERZEICHNIS
3 ENTWURF VON PROGRAMMEN 35
3.1 VOM PROBLEM ZUM PROGRAMM 36
3.1.1 DER EUKLIDISCHE ALGORITHMUS ALS BEISPIEL FUER ALGORITHMEN 37
3.1.2 BESCHREIBUNG SEQUENZIELLER ABLAEUFE 38
3.1.3 PROGRAMMIERUNG OHNE SPRUENGE 40
3.1.4 VARIABLEN UND ZUWEISUNGEN 41
3.2 ENTWURF MIT NASSI-SHNEIDERMAN-DIAGRAMMEN 43
3.2.1 DIAGRAMME FUER DIE SEQUENZ 44
3.2.2 DIAGRAMME FUER DIE SELEKTION 45
3.2.3 DIAGRAMME FUER DIE ITERATION 47
3.2.4 VOM STRUKTOGRAMM ZUM PROGRAMM 50
3.3 PSEUDOCODE 53
3.3.1 NATUERLICHE UND FORMALE SPRACHEN 53
3.3.2 FREIER UND FORMALER PSEUDOCODE 53
3.4 ZUSAMMENFASSUNG 54
3.5 UEBUNGSAUFGABEN 57
4 DATEN UND FUNKTIONEN 59
4.1 DATEN IN PROZEDURALEN PROGRAMMEN 60
4.1.1 ZEICHEN 60
4.1.2 VARIABLEN 63
4.1.3 DATENTYPEN 63
4.2 FUNKTIONEN IN PROZEDURALEN PROGRAMMEN 64
4.2.1 UNTERPROGRAMME UND BIBLIOTHEKEN 65
4.2.2 AUFRUFHIERARCHIE VON UNTERPROGRAMMEN 66
4.2.3 VORTEILE VON UNTERPROGRAMMEN 66
4.2.4 UNTERPROGRAMME IN NASSI-SHNEIDERMAN-DIAGRAMMEN 66
4.2.5 SCHRITTWEISE VERFEINERUNG BEIM TOP-DOWN-DESIGN 68
4.2.6 DAS EVA-PRINZIP 69
4.2.7 EXEMPLARISCHE DURCHFUEHRUNG EINES TOP-DOWN-DESIGN 69
4.3 DATEN IN C 72
4.3.1 DER DATENTYP INT IN DER PROGRAMMIERSPRACHE C 73
4.3.2 DER DATENTYP FLOAT IN C 74
4.3.3 OPERATIONEN AUF EINFACHEN DATENTYPEN IN C 75
4.3.4 SELBST DEFINIERTE DATENTYPEN IN C 75
4.4 FUNKTIONEN IN C 76
4.4.1 DEFINITION VON FUNKTIONEN 76
4.4.2 AUFRUF VON FUNKTIONEN 77
4.4.3 BEISPIELPROGRAMM ZUR BERECHNUNG EINER SUMME 78
4.5 STRUKTUR EINER QUELLDATEI IN C 79
INHALTSVERZEICHNIS XI
4.5.1 KOMMUNIKATION ZWISCHEN FUNKTIONEN 80
4.5.2 INTERNE UND EXTERNE VARIABLEN 80
4.5.3 BEISPIEL FUER EINE AUFRUFHIERARCHIE 81
4.5.4 REIHENFOLGE DER EXTERNEN VARIABLEN UND FUNKTIONEN 82
4.5.5 FUNKTIONSPROTOTYPEN 82
4.5.6 BESTANDTEILE EINES PROGRAMMS 83
4.5.7 AUFBAU EINER QUELLDATEI 83
4.5.8 BEISPIELPROGRAMM FUER DEN AUFBAU EINER QUELLDATEI 84
4.6 ZUSAMMENFASSUNG 86
5 PROGRAMMERZEUGUNG UND -AUSFUEHRUNG 91
5.1 COMPILER 93
5.1.1 LEXIKALISCHE ANALYSE 94
5.1.2 SYNTAXANALYSE 95
5.1.3 SEMANTISCHE ANALYSE 95
5.1.4 OPTIMIERUNGEN 96
5.1.5 CODEERZEUGUNG 96
5.1.6 LAUFZEITSYSTEM DES COMPILERS 97
5.2 LINKER 97
5.3 LADER 99
5.4 DEBUGGER 100
5.5 INTEGRIERTE ENTWICKLUNGSUMGEBUNGEN 101
5.6 ZUSAMMENFASSUNG 101
6 LEXIKALISCHE KONVENTIONEN 105
6.1 ZEICHENVORRAT VON C 106
6.1.1 QUELL- UND AUSFUEHRUNGSZEICHENSATZ NACH C11 106
6.1.2 ZEICHENSATZ NACH C90 107
6.1.3 DER UNICODE IN C 107
6.1.4 MULTIBYTE-ZEICHEN 108
6.1.5 DER DATENTYP WCHAR_T 109
6.2 LEXIKALISCHE EINHEITEN 109
6.2.1 RESERVIERTE WOERTER 111
6.2.2 BEZEICHNER 113
6.2.3 KONSTANTEN 114
6.2.4 OPERATOREN UND INTERPUNKTIONSZEICHEN 125
6.3 ZUSAMMENFASSUNG 126
6.4 UEBUNGSAUFGABEN 131
XII
INHALTSVERZEICHNIS
7 DATENTYPEN UND VARIABLEN IN C 133
7.1 UEBERSICHT UEBER DIE DATENTYPEN IN C 135
7.1.1 DER DATENTYP VOID 135
7.1.2 KLASSIFIKATION DER DATENTYPEN IM FALLE VON C90 135
7.1.3 ERGAENZUNG DES KLASSIFIKATIONSBAUMS DER DATENTYPEN
BEI C11 .136
7.2 EINFACHE DATENTYPEN IN C 137
7.2.1 UEBERSICHT UEBER DIE INTEGER-TYPEN IN C 137
7.2.2 DIE EINZELNEN STANDARD-INTEGER-TYPEN VON C90 139
7.2.3 DER ZUSAETZLICHE DATENTYP LONG LONG IN C11 143
7.2.4 AUFZAEHLUNGSTYPEN 143
7.2.5 DIE STANDARD-GLEITPUNKT-TYPEN FLOAT UND DOUBLE 143
7.3 VARIABLEN IN C 146
7.3.1 DEFINITIONEN, DEKLARATIONEN UND VEREINBARUNGEN 147
7.3.2 DEFINITION EINFACHER VARIABLEN 148
7.3.3 EXTERNE UND INTERNE VARIABLEN 148
7.3.4 INITIALISIERUNG VON VARIABLEN 151
7.4 QUALIFIKATOREN 152
7.4.1 QUALIFIKATOREN IN C90.: 152
7.4.2 QUALIFIKATOREN IN C11 153
7.5 GENERELLE ARTEN VON TYPEN IN C 154
7.6 ZUSAMMENFASSUNG 154
7.7 UEBUNGSAUFGABEN 159
8 EINFUEHRUNG IN POINTER UND ARRAYS 161
8.1 POINTERTYPEN UND POINTERVARIABLEN 162
8.1.1 DEFINITION VON POINTERVARIABLEN 163
8.1.2 NULL-POINTER 164
8.1.3 WERTEBEREICH VON POINTERN 165
8.1.4 WERTZUWEISUNG AN EINEN POINTER 165
8.1.5 ADRESSOPERATOR 166
8.1.6 ZUGRIFF AUF EIN OBJEKT UEBER EINEN POINTER 167
8.1.7 BEISPIELE FUER DAS REFERENZIEREP UND DEREFERENZIEREN 169
8.2 POINTER AUF VOID 170
8.3 EINDIMENSIONALE ARRAYS 171
8.3.1 BEISPIEL FUER EIN ARRAY 172
8.3.2 BEISPIEL ZUM SPEICHERN VON DATEN IN EINEM ARRAY 173
8.3.3 WEITERE ERLAEUTERUNGEN ZUR DEFINITION EINES ARRAYS 174
8.3.4 ZEICHENKETTEN UND ARRAYS 175
8.3.5 BEISPIEL FUER ZEICHENKETTEN UND ARRAYS 175
8.4 DER QUALIFIKATOR RESTRICT 176
INHALTSVERZEICHNIS XIII
8.5 ZUSAMMENFASSUNG 177
8.6 UEBUNGSAUFGABEN 181
9 AUSDRUECKE, ANWEISUNGEN UND OPERATOREN 183
9.1 OPERATOREN UND OPERANDEN 185
9.1.1 STELLIGKEIT DER OPERATOREN 185
9.1.2 POSTFIX- UND PRAEFIXOPERATOREN 186
9.2 AUSDRUECKE UND ANWEISUNGEN 186
9.3 NEBENEFFEKTE 188
9.4 AUSWERTUNGSREIHENFOLGE KOMPLEXER AUSDRUECKE 189
9.4.1 EINSTELLIGE UND MEHRSTELLIGE OPERATOREN 189
9.4.2 OPERATOREN GLEICHER PRIORITAET 190
9.5 L-WERTE UND R-WERTE 191
9.6 ZUSAMMENSTELLUNG DER OPERATOREN 194
9.6.1 EINSTELLIGE ARITHMETISCHE OPERATOREN 194
9.6.2 ZWEISTELLIGE ARITHMETISCHE OPERATOREN 196
9.6.3 ZUWEISUNGSOPERATOREN 198
9.6.4 RELATIONALE OPERATOREN 200
9.6.5 LOGISCHE OPERATOREN 203
9.6.6 BIT-OPERATOREN 206
9.6.7 SONSTIGE OPERATOREN 210
9.6.8 PRIORITAETENTABELLE DER OPERATOREN 217
9.7 IMPLIZITE TYPUMWANDLUNG 219
9.7.1 GEWOEHNLICHE ARITHMETISCHE KONVERSIONEN 221
9.7.2 ZUWEISUNGEN, RUECKGABEWERTE UND ARGUMENTE VON FUNKTIONEN 224
9.7.3 KONVERTIERVORSCHRIFTEN 225
9.7.4 ZWEI BEISPIELE FUER
TYPKONVERTIERUNGEN 225
9.8 SEQUENZPUNKTE BEI NEBENEFFEKTEN 227
9.9 ZUSAMMENFASSUNG 228
9.10 UEBUNGSAUFGABEN 235
10 KONTROLLSTRUKTUREN 239
10.1 BLOECKE - KONTROLLSTRUKTUREN FUER DIE SEQUENZ 240
10.2 KONTROLLSTRUKTUREN FUER DIE SELEKTION 241
10.2.1 EINFACHE ALTERNATIVE - IF UND EISE 241
10.2.2 MEHRFACHE ALTERNATIVE
- EISE IF 243
10.2.3 MEHRFACHE ALTERNATIVE
- SWITCH 244
10.3 KONTROLLSTRUKTUREN FUER DIE ITERATION 249
10.3.1 ABWEISENDE SCHLEIFE MIT WHILE 249
XIV INHALTSVERZEICHNIS
10.3.2 ABWEISENDE SCHLEIFE MIT FOR 250
10.3.3 ANNEHMENDE SCHLEIFE MIT DO WHILE 258
10.3.4 ENDLOSSCHLEIFE SOWIE LEERE ANWEISUNG 259
10.4 SPRUNGANWEISUNGEN 261
10.4.1 BREAK 261
10.4.2 CONTINUE 262
10.4.3 GOTO UND MARKEN 264
10.5 ZUSAMMENFASSUNG 265
10.6 UEBUNGSAUFGABEN 268
11 BLOECKE UND FUNKTIONEN 271
11.1 STRUKTUR EINES BLOCKES IN C90 UND C11 272
11.2 SCHACHTELUNG VON BLOECKEN 274
11.3 GUELTIGKEIT, SICHTBARKEIT UND LEBENSDAUER 275
11.4 DEFINITION UND AUFRUF VON FUNKTIONEN 278
11.4.1 DEFINITION VON FUNKTIONEN 278
11.4.2 FORMALE UND AKTUELLE
PARAMETER 281
11.4.3 SYNTAX EINES FUNKTIONSAUFRUFS 282
11.4.4 RUECKSPRUNG MIT ODER OHNE RUECKGABEWERT
- DIE RETURN-ANWEISUNG 282
11.4.5 CALL BY REFERENCE-SCHNITTSTELLE 284
11.4.6 POINTER UEBER DIE PARAMETERIISTE 284
11.5 VORWAERTSDEKLARATION VON FUNKTIONEN 286
11.5.1 BEHANDLUNG VON LIBRARY-FUNKTIONEN 288
11.5.2 EIGENE HEADER-DATEIEN 289
11.6 GUELTIGKEITSBEREICHE VON NAMEN 289
11.7 DIE ELLIPSE . - EIN MITTEL FUER VARIABLE PARAMETERANZAHLEN 290
11.8 REKURSIVE FUNKTIONEN 292
11.8.1 ITERATION UND REKURSION 293
11.8.2 ITERATIVE UND REKURSIVE BERECHNUNG DER FAKULTAETSFUNKTION 293
11.8.3 BEISPIEL FUER ITERATIVE UND REKURSIVE BERECHNUNG DER
BINAERDARSTELLUNG 301
11.9 INLINE-FUNKTIONEN 304
11.10 FUNKTIONEN OHNE WIEDERKEHR IN C11 305
11.11 ZUSAMMENFASSUNG 305
11.12 UEBUNGSAUFGABEN 311
12 FORTGESCHRITTENE PROGRAMMIERUNG MIT POINTERN .319
12.1 POINTER UND ELEMENTE VON ARRAYS 320
12.1.1 AEQUIVALENZ VON ARRAY- UND POINTERNOTATION 321
12.1.2 VERGLEICH VON ARRAYS 321
INHALTSVERZEICHNIS XV
12.1.3 ARRAYNAME ALS NICHT MODIFIZIERBARER L-WERT 321
12.1.4 POINTERARITHMETIK 322
12.1.5 SPIELERISCHE ERKUNDUNG VON FISCHER UND FRIEDERICH 326
12.1.6 INITIALISIERUNG VON ARRAYS 328
12.1.7 MEHRDIMENSIONALE ARRAYS 331
12.1.8 KONSTANTE ZEICHENKETTEN
- ARRAYS AUS ZEICHEN 333
12.1.9 CHAR-ARRAYS 334
12.2 UEBERGABE VON ARRAYS UND ZEICHENKETTEN AN FUNKTIONEN 335
12.2.1 UEBERGABE VON ARRAYS 335
12.2.2 UEBERGABE VON ZEICHENKETTEN 336
12.2.3 AUSGABE VON ZEICHENKETTEN UND VON CHAR-ARRAYS 336
12.3 VERGLEICH VON CHAR-ARRAYS UND POINTERN AUF ZEICHENKETTEN 337
12.4 DAS SCHLUESSELWORT CONST BEI POINTERN UND ARRAYS 339
12.5 BEISPIELE FUER DAS KOPIEREN VON ZEICHENKETTEN VON HAND 341
12.6 STANDARDFUNKTIONEN ZUR STRINGVERARBEITUNG UND SPEICHERBEARBEITUNG
343
12.6.1 EINIGE STRINGVERARBEITUNGSFUNKTIONEN 343
12.6.2 FUNKTIONEN ZUR SPEICHERBEARBEITUNG 350
12.7 BEISPIELE FUER EINDIMENSIONALE ARRAYS VON POINTERN UND POINTER AUF
POINTER 355
12.7.1 BEISPIELE FUER EINDIMENSIONALE ARRAYS VON POINTEM 355
12.7.2 BEISPIEL FUER POINTER AUF POINTER 357
12.7.3 BEISPIEL FUER DIE INITIALISIERUNG VON ARRAYS VON
POINTEM 358
12.7.4 VERGLEICH ZWEIDIMENSIONALES ARRAY GEGEN EINDIMENSIONALES ARRAY
VON
POINTEM 359
12.8 POINTER AUF FUNKTIONEN 360
12.8.1 VEREINBARUNG EINES POINTERS AUF EINE
FUNKTION 361
12.8.2 AUFRUF EINER FUNKTION 361
12.8.3 BEISPIEL FUER POINTER AUF EINE FUNKTION 362
12.8.4 BEISPIEL NULLSTELLEN MIT DEM NEWTONSCHEN ITERATIONSVERFAHREN 363
12.9 ZUSAMMENFASSUNG 365
12.10 UEBUNGSAUFGABEN 369
13 STRUKTUREN, UNIONEN UND BITFELDER 375
13.1 RECORDS AUF DER PLATTE UND STRUKTUREN 376
13.1.1 VEREINBARUNG VON STRUKTURTYPEN UND STRUKTURVARIABLEN 377
13.1.2 VERSCHIEDENE MOEGLICHKEITEN ZUR DEFINITION VON STRUKTURVARIABLEN
379
13.1.3 ZULAESSIGE OPERATIONEN 380
13.1.4 SELEKTION DER KOMPONENTEN 381
13.1.5 UEBERGABE VON STRUKTURVARIABLEN AN FUNKTIONEN UND RUECKGABE 383
13.1.6 INITIALISIERUNG EINER STRUKTUR MIT EINER INITIALISIERUNGSLISTE
384
XVI
INHALTSVERZEICHNIS
13.1.7 INITIALISIERUNG EINZELNER KOMPONENTEN EINER STRUKTUR 385
13.1.8 STRINGVARIABLEN IN STRUKTUREN 386
13.1.9 ANWENDUNGSMOEGLICHKEITEN VON STRUKTUREN 387
13.2 UNIONEN 390
13.3 ANONYME TYPEN UND OBJEKTE 393
13.3.1 ANONYME STRUKTUREN UND UNIONEN 394
13.3.2 COMPOUND LITERAIS 394
13.4 BITFELDER - KOMPONENTEN VON STRUKTUREN UND UNIONEN 396
13.5 ZUSAMMENFASSUNG 401
13.6 UEBUNGSAUFGABEN 404
14 KOMPLEXERE VEREINBARUNGEN, EIGENE TYPNAMEN UND
NAMENSRAEUME 411
14.1 KOMPLEXERE VEREINBARUNGEN 412
14.1.1 KOMPLEXERE VEREINBARUNGEN VON VARIABLEN UND FUNKTIONEN 412
14.1.2 KOMPLEXERE DATENTYPEN 414
14.2 VEREINBARUNG EIGENER TYPNAMEN ALS ALIASNAMEN 414
14.2.1 BEISPIEL FUER EINEN ZUSAMMENGESETZTEN DATENTYP 415
14.2.2 VERWENDUNG VON TYPEDEF BEI
EINFACHEN DATENTYPEN 415
14.2.3 SYNTAX EINER TYPEDEF-ANWEISUNG 415
14.2.4 NEUER TYPNAME PLUS ZUSAETZLICHER ALIASNAME 416
14.2.5 VORWAERTSDEKLARATION UND INFORMATION HIDING MIT
TYPEDEF 416
14.2.6 BEDEUTUNG VON TYPEDEF FUER PORTABLE DATENTYPEN 417
14.3 NAMENSRAEUME 417
14.4 ZUSAMMENFASSUNG 419
15 SPEICHERKLASSEN 421
15.1 SEGMENTE DES ADRESSRAUMS EINES PROGRAMMS 423
15.2 DER LINKER 424
15.2.1 VIRTUELLE ADRESSEN 425
15.2.2 BINDUNGEN 426
15.3 PROGRAMME AUS MEHREREN DATEIEN - DIE SPEICHERKLASSE EXTERN 427
15.3.1 BEISPIELPROGRAMM EXTERN-DEKLARATION OHNE HEADER-DATEI 429
15.3.2 BEISPIELPROGRAMM EXTERN-DEKLARATION MIT HEADER-DATEI 429
15.3.3 DIE EXTERN-DEKLARATION BEI ARRAYS 431
15.3.4 BEISPIEL FUER DIE EXTERN-DEKLARATION
BEI ARRAYS 431
15.4 PROGRAMME AUS MEHREREN DATEIEN - DIE SPEICHERKLASSE STATIC FUER
EXTERNE DEFINITIONEN 432
15.5 SPEICHERKLASSEN BEI LOKALEN VARIABLEN 433
INHALTSVERZEICHNIS XVII
15.5.1 AUTOMATISCHE VARIABLEN 433
15.5.2 SPEICHERKLASSE STATIC FUER LOKALE VARIABLEN 436
15.6 AUTOMATISCHE UND NICHT AUTOMATISCHE INITIALISIERUNG VON
VARIABLEN.438
15.7 UEBERBLICK UEBER DIE SPEICHERKLASSEN SEQUENTIELLER PROGRAMME 439
15.8 ZUSAMMENFASSUNG 439
15.9 UEBUNGSAUFGABEN 443
16 EIN-UND AUSGABE. 445
16.1 SPEICHERUNG VON DATEN IN DATEISYSTEMEN 447
16.1.1 DATEIEN UNTER UNIX - DAS STREAMKONZEPT 448
16.1.2 SCHICHTENMODELL VON UNIX FUER DIE EIN-
UND AUSGABE 449
16.2 DAS EIN-/AUSGABE-KONZEPT VON C 450
16.3 STANDARDEINGABE UND -AUSGAEBE IN C 451
16.3.1 UMLENKUNG DER EIN- UND AUSGABE 452
16.3.2 PIPELINING 453
16.3.3 FUNKTIONEN FUER DIE STANDARDEINGABE
UND -AUSGAEBE 454
16.4 HIGH- UND LOW-LEVEL-BIBLIOTHEKSFUNKTIONEN ZUR EIN- UND AUSGABE 454
16.5 DER FILE-POINTER BEI HIGH-LEVEL-FUNKTIONEN 456
16.5.1 OEFFNEN UND SCHLIESSEN VON DATEIEN 458
16.5.2 PUFFERSTEUERUNG 459
16.5.3 NAVIGIEREN INNERHALB VON
DATEIEN 460
16.5.4 FEHLERBEHANDLUNG 461
16.5.5 BEISPIEL FUER DEN UMGANG MIT FILE-POINTERN 462
16.5.6 OPERATIONEN AUF DATEIEN 463
16.6 SCHREIBEN IN DATEIEN MIT HIGH-LEVEL-FUNKTIONEN 463
16.6.1 SCHREIBEN VON OBJEKTEN 464
16.6.2 SCHREIBEN VON FORMATIERTEN STRINGS 465
16.7 LESEN VON DATEIEN MIT HIGH-LEVEL-FUNKTIONEN 472
16.7.1 LESEN VON OBJEKTEN 473
16.7.2 LESEN VON FORMATIERTEN STRINGS 474
16.8 ALTERNATIVE FUNKTIONEN FUER MEHR SICHERHEIT NACH C11 477
16.8.1 DIE FUNKTION GETS_S() 479
16.8.2 DIE FUNKTION FOPEN_S() 480
16.9 ZUSAMMENFASSUNG 480
16.10 UEBUNGSAUFGABEN 486
17 PROGRAMMAUFRUF UND-BEENDIGUNG 493
17.1 UEBERGABE VON ARGUMENTEN BEIM PROGRAMMAUFRUF 494
17.2 BEENDIGUNG VON PROGRAMMEN OE 496
XVIII
INHALTSVERZEICHNIS
17.2.1 EINIGE FUNKTIONEN DER STANDARDBIBLIOTHEK 497
17.2.2 BEISPIEL FUER EINE ABFRAGE DES RUECKGABEWERTES 501
17.3 ZUSAMMENFASSUNG 502
18 DYNAMISCHE SPEICHERZUWEISUNG 505
18.1 RESERVIERUNG VON SPEICHER 507
18.1.1 DIE FUNKTION MALLOC() 507
18.1.2 DIE FUNKTION CALLOC() 509
18.1.3 DIE FUNKTION REALLOC() 510
18.2 FREIGABE VON SPEICHER 511
18.2.1 BEISPIEL 512
18.2.2 SPEICHERLECKS 513
18.3 DYNAMISCH ERZEUGTE ARRAYS 513
18.4 ZUSAMMENFASSUNG 515
18.5 UEBUNGSAUFGABEN 516
19 DYNAMISCHE DATENSTRUKTUREN 519
19.1 VERKETTETE LISTEN 520
19.1.1 DATENTYP EINES LISTENELEMENTS 520
19.1.2 EINFACH VERKETTETE LISTE 521
19.1.3 ANDERE LISTENARTEN 527
19.2 BAUMSTRUKTUREN 528
19.2.1 ALLGEMEINE DARSTELLUNG VON BAUMSTRUKTUREN 528
19.2.2 FORMALE DEFINITION EINES BAUMES 529
19.2.3 BINAERE BAEUME 531
19.2.4 DURCHLAUFEN VON BINAEREN BAEUMEN 533
19.2.5 BEISPIELPROGRAMM FUER BINAERE BAEUME 536
19.3 ZUSAMMENFASSUNG 543
19.4 UEBUNGSAUFGABEN 546
20 SORTIEREN UND SUCHEN 549
20.1 INTERNE SORTIERVERFAHREN 551
20.1.1 KONZEPT FUER DAS ITERATIVE SORTIEREN DURCH DIREKTES AUSWAEHLEN 552
20.1.2 KONZEPT FUER DAS REKURSIVE SORTIEREN MIT DEM QUICKSORT-VERFAHREN
553
20.1.3 BEISPIELPROGRAMME FUER INTERNE SORTIERVERFAHREN 556
20.1.4 SORTIERVERFAHREN IM VERGLEICH 559
20.1.5 DIE QUICKSORT-FUNKTION DER STANDARDBIBLIOTHEK 560
20.2 EINFACHE SUCHVERFAHREN 562
20.2.1 SEQUENZIELLES SUCHEN 563
20.2.2 HALBIERUNGSSUCHEN 563
INHALTSVERZEICHNIS XIX
20.2.3 BEISPIELPROGRAMM MIT BSEARCH() 566
20.3 SUCHEN NACH DEM HASHVERFAHREN 567
20.3.1 EINFUEHRENDES KONZEPTIONELLES BEISPIEL 567
20.3.2 EINFACHE SCHLUESSELTRANSFORMATION UND KONFLIKTE 568
20.3.3 KONFLIKTLOESUNGEN FUER AUSREICHEND GROSSE TABELLEN 570
20.3.4 DIREKTE VERKETTUNG BEI KOLLISIONEN 580
20.3.5 WEITERE SCHLUESSELTRANSFORMATIONEN 584
20.3.6 VOR- UND NACHTEILE DER HASHVERFAHREN 585
20.4 SUCHEN MIT HILFE VON BACKTRACKING 586
20.5 ZUSAMMENFASSUNG 592
20.6 UEBUNGSAUFGABEN 596
21 PRAEPROZESSOR 599
21.1 AUFGABEN DES PRAEPROZESSORS 600
21.2 EINFUEGEN VON HEADER-DATEIEN DES LOKALEN VERZEICHNISSES UND DER
STANDARDBIBLIOTHEKEN 601
21.3 SYMBOLISCHE KONSTANTEN UND MAKROS MIT PARAMETERN 603
21.3.1 BEISPIEL FUER KOMPLIKATIONEN
BEI DER TEXTERSETZUNG UND IHRE
BESEITIGUNG.604
21.3.2 PROBLEME BEI MAKROS BESTEHEND AUS MEHREREN ANWEISUNGEN 606
21.4 BEDINGTE KOMPILIERUNG 607
21.5 INFORMATIONEN UEBER DEN UEBERSETZUNGSKONTEXT 609
21.5.1 DIE PRAEPROZESSOR-DIREKTIVE LINE 610
21.5.2 DIE PRAEPROZESSOR-DIREKTIVE ERROR 610
21.6 WEITERE PRAEPROZESSOR-DIREKTIVEN 610
21.6.1 PARAMETER MIT # IN STRINGS UMWANDELN 610
21.6.2 PARAMETER MIT ## VERKNUEPFEN 611
21.6.3 GENERISCHE AUSWAHL IN C11 612
21.6.4 STATISCHE ZUSICHERUNGEN IN C11 613
21.7 DER PRAGMA-OPERATOR IN C11 614
21.8 ZUSAMMENFASSUNG 614
21.9 UEBUNGSAUFGABEN 616
22 MODULAR DESIGN IN C 619
22.1 KONZEPT DES STRUCTURED DESIGN 620
*22.2 KONZEPT DES MODULAR DESIGN 621
22.2.1 KAPSELUNG UND INFORMATION HIDING 621
22.2.2 EXPORT-SCHNITTSTELLEN 622
22.2.3 IMPORT-SCHNITTSTELLEN 623
22.2.4 DAS MODULKONZEPT
- EINE VORSTUFE DER OBJEKTORIENTIERUNG 624
XX INHALTSVERZEICHNIS
22.3 UMSETZUNG DES MODULAR DESIGN IN C 625
22.3.1 INFORMATION HIDING MIT STATIC 625
22.3.2 BEHANDLUNG DER HEADER 625
22.4 REALISIERUNG EINES STACKS MIT MODULAR DESIGN IN C 629
22.4.1 DIE HEADER-DATEI STACK.H 630
22.4.2 ARBEITSTEILIGE ENTWICKLUNG 631
22.4.3 IMPLEMENTIERUNG DES MODULS MAIN.C 631
22.4.4 IMPLEMENTIERUNG DES MODULS STACK.C 632
22.5 ZUSAMMENFASSUNG 636
22.6 UEBUNGSAUFGABEN 639
23 THREADS NACH C11 641
23.1 BETRIEBSSYSTEMPROZESSE UND THREADS 642
23.2 THREADS IM C11 -STANDARD 645
23.2.1 ERZEUGEN VON THREADS 647
23.2.2 BEENDEN VON THREADS 648
23.3 SYNCHRONISATION VON THREADS 651
23.3.1 WECHSELSEITIGER AUSSCHLUSS MIT HILFE VON MUTEXEN 652
23.3.2 SYNCHRONISATION MIT ZUSTANDSVARIABLEN 657
23.3.3 DEADLOCKS, LIVELOCKS UND STARVATION 665
23.4 FORTGESCHRITTENE PROGRAMMIERUNG MIT THREADS 667
23.4.1 LOKALE UND STATISCHE VARIABLEN 668
23.4.2 THREAD-IOKALER SPEICHER 670
23.4.3 FUNKTIONEN FUER EINEN THREAD-SPEZIFISCHEN SPEICHER 672
23.4.4 ATOMARE OPERATIONEN 675
23.5 ZUSAMMENFASSUNG 676
BEGRIFFSVERZEICHNIS 681
ANHANG A STANDARDBIBLIOTHEKSFUNKTIONEN 683
ANHANG B LOW-LEVEL-DATEIZUGRIFFSFUNKTIONEN 691
ANHANG C WANDLUNGEN ZWISCHEN ZAHLENSYSTEMEN 701
ANHANG D ASCII- UND UNICODE-CODIERUNGEN 707
ANHANG E KOMPLEXE ZAHLEN 711
ANHANG F BEISPIELPROGRAMM FUER POINTER AUF VOID ALS
FORMALEN PARAMETER 713
LITERATURVERZEICHNIS 715
INDEX 717 |
any_adam_object | 1 |
author | Goll, Joachim 1947- Dausmann, Manfred 1951- |
author_GND | (DE-588)118104276 (DE-588)124453880 |
author_facet | Goll, Joachim 1947- Dausmann, Manfred 1951- |
author_role | aut aut |
author_sort | Goll, Joachim 1947- |
author_variant | j g jg m d md |
building | Verbundindex |
bvnumber | BV042092573 |
classification_rvk | ST 250 |
classification_tum | DAT 358f |
ctrlnum | (OCoLC)889425250 (DE-599)DNB105584662X |
dewey-full | 005.133 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.133 |
dewey-search | 005.133 |
dewey-sort | 15.133 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | 8., überarb. und erw. Aufl. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a22000008c 4500</leader><controlfield tag="001">BV042092573</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20220328</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">140926s2014 gw ad|| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">14,N35</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">105584662X</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3834818585</subfield><subfield code="c">pbk</subfield><subfield code="9">3-8348-1858-5</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783834818584</subfield><subfield code="c">pbk : EUR 24.99 (DE), EUR 25.69 (AT), sfr 31.50 (freier Pr.)</subfield><subfield code="9">978-3-8348-1858-4</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783834818584</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)889425250</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB105584662X</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-HE</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-92</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-860</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-M347</subfield><subfield code="a">DE-521</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-B768</subfield><subfield code="a">DE-858</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.133</subfield><subfield code="2">22/ger</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 358f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Goll, Joachim</subfield><subfield code="d">1947-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)118104276</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">C als erste Programmiersprache</subfield><subfield code="b">mit den Konzepten von C11</subfield><subfield code="c">Joachim Goll ; Manfred Dausmann</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">8., überarb. und erw. Aufl.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Wiesbaden</subfield><subfield code="b">Springer Vieweg</subfield><subfield code="c">2014</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XX, 727 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4113195-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="655" ind1=" " ind2="7"><subfield code="8">1\p</subfield><subfield code="0">(DE-588)4151278-9</subfield><subfield code="a">Einführung</subfield><subfield code="2">gnd-content</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">C</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4113195-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Dausmann, Manfred</subfield><subfield code="d">1951-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)124453880</subfield><subfield code="4">aut</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe</subfield><subfield code="z">978-3-8348-2271-0</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">X:MVB</subfield><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=4755984&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Inhaltstext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">DNB Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027533402&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-027533402</subfield></datafield></record></collection> |
genre | 1\p (DE-588)4151278-9 Einführung gnd-content |
genre_facet | Einführung |
id | DE-604.BV042092573 |
illustrated | Illustrated |
indexdate | 2024-08-03T01:49:09Z |
institution | BVB |
isbn | 3834818585 9783834818584 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-027533402 |
oclc_num | 889425250 |
open_access_boolean | |
owner | DE-92 DE-523 DE-860 DE-Aug4 DE-11 DE-M347 DE-521 DE-859 DE-29T DE-634 DE-91G DE-BY-TUM DE-B768 DE-858 |
owner_facet | DE-92 DE-523 DE-860 DE-Aug4 DE-11 DE-M347 DE-521 DE-859 DE-29T DE-634 DE-91G DE-BY-TUM DE-B768 DE-858 |
physical | XX, 727 S. Ill., graph. Darst. |
publishDate | 2014 |
publishDateSearch | 2014 |
publishDateSort | 2014 |
publisher | Springer Vieweg |
record_format | marc |
spelling | Goll, Joachim 1947- Verfasser (DE-588)118104276 aut C als erste Programmiersprache mit den Konzepten von C11 Joachim Goll ; Manfred Dausmann 8., überarb. und erw. Aufl. Wiesbaden Springer Vieweg 2014 XX, 727 S. Ill., graph. Darst. txt rdacontent n rdamedia nc rdacarrier C Programmiersprache (DE-588)4113195-2 gnd rswk-swf 1\p (DE-588)4151278-9 Einführung gnd-content C Programmiersprache (DE-588)4113195-2 s DE-604 Dausmann, Manfred 1951- Verfasser (DE-588)124453880 aut Erscheint auch als Online-Ausgabe 978-3-8348-2271-0 X:MVB text/html http://deposit.dnb.de/cgi-bin/dokserv?id=4755984&prov=M&dok_var=1&dok_ext=htm Inhaltstext DNB Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027533402&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Goll, Joachim 1947- Dausmann, Manfred 1951- C als erste Programmiersprache mit den Konzepten von C11 C Programmiersprache (DE-588)4113195-2 gnd |
subject_GND | (DE-588)4113195-2 (DE-588)4151278-9 |
title | C als erste Programmiersprache mit den Konzepten von C11 |
title_auth | C als erste Programmiersprache mit den Konzepten von C11 |
title_exact_search | C als erste Programmiersprache mit den Konzepten von C11 |
title_full | C als erste Programmiersprache mit den Konzepten von C11 Joachim Goll ; Manfred Dausmann |
title_fullStr | C als erste Programmiersprache mit den Konzepten von C11 Joachim Goll ; Manfred Dausmann |
title_full_unstemmed | C als erste Programmiersprache mit den Konzepten von C11 Joachim Goll ; Manfred Dausmann |
title_short | C als erste Programmiersprache |
title_sort | c als erste programmiersprache mit den konzepten von c11 |
title_sub | mit den Konzepten von C11 |
topic | C Programmiersprache (DE-588)4113195-2 gnd |
topic_facet | C Programmiersprache Einführung |
url | http://deposit.dnb.de/cgi-bin/dokserv?id=4755984&prov=M&dok_var=1&dok_ext=htm http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027533402&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT golljoachim calsersteprogrammiersprachemitdenkonzeptenvonc11 AT dausmannmanfred calsersteprogrammiersprachemitdenkonzeptenvonc11 |