C How to Program, 9/e
Subtitle: C How to Program with Case Studies Introducing Application Programming and Systems Programming
Edition: Ninth Edition
Publisher: Pearson
Published: Jun 22, 2021
Format: paperback
ISBN-13: 9780137398393
Copyright date: 2022
Other titles: C How to Program, 9th Edition
First sentence: Welcome to C—one of the world’s most senior computer programming languages
and, according to the Tiobe Index, the world’s most popular.1 You’re probably famil-
iar with many of the powerful tasks computers perform. In this textbook, you’ll get
intensive, hands-on experience writing C instructions that command computers to
perform those and other tasks. Software (that is, the C instructions you write, which
are also called code) controls hardware (that is, computers and related devices).
Description: C How to Program is a user-friendly, code-intensive introduction to C programming with case studies introducing applications and system programming. Like other texts of the Deitels' How to Program series, the book's modular presentation serves as a detailed beginner source of information for college students looking to embark on a career in coding, or instructors and software-development professionals seeking to learn how to program with C. The signature Deitel live-code approach presents concepts in the context of 142 full-working programs rather than incomplete snips of code. This gives you a chance to run each program as you study it and see how your learning applies to real-world programming scenarios.
Current standards, contemporary practice, and hands-on learning opportunities are integrated throughout the 9th Edition. Over 340 new integrated Self-Check exercises with answers allow you to test your understanding of important concepts, and check your code, as you read. New and enhanced case studies and exercises use real-world data and focus on the latest ACM/IEEE computing curricula recommendations, highlighting security, data science, ethics, privacy, and performance concepts.
Table of contents: label: Preface
title: vii; label: Before You Begin
title: xviv; label: Chapter 1
title: Introduction to Computers and C
pagenum: 1; label: 1.1
title: Introduction
pagenum: 2; label: 1.2
title: Hardware and Software
pagenum: 4; label: 1.2.1
title: Moore’s Law
pagenum: 4; label: 1.2.2
title: Computer Organization
pagenum: 5; label: 1.3
title: Data Hierarchy
pagenum: 8; label: 1.4
title: Machine Languages, Assembly Languages and High-Level Languages
pagenum: 11; label: 1.5
title: Operating Systems
pagenum: 13; label: 1.6
title: The C Programming Language
pagenum: 16; label: 1.7
title: The C Standard Library and Open-Source Libraries
pagenum: 18; label: 1.8
title: Other Popular Programming Languages
pagenum: 19; label: 1.9
title: Typical C Program-Development Environment
pagenum: 21; label: 1.9.1
title: Phase 1: Creating a Program
pagenum: 21; label: 1.9.2
title: Phases 2 and 3: Preprocessing and Compiling a C Program
pagenum: 21; label: 1.9.3
title: Phase 4: Linking
pagenum: 22; label: 1.9.4
title: Phase 5: Loading
pagenum: 23; label: 1.9.5
title: Phase 6: Execution
pagenum: 23; label: 1.9.6
title: Problems That May Occur at Execution Time
pagenum: 23; label: 1.9.7
title: Standard Input, Standard Output and Standard Error Streams
pagenum: 24; label: 1.10
title: Test-Driving a C Application in Windows, Linux and macOS
pagenum: 24; label: 1.10.1
title: Visual Studio 2019 on Windows 10
pagenum: 25; label: 1.10.2
title: Xcode on macOS
pagenum: 29; label: 1.10.3
title: GNU gcc on Linux
pagenum: 32; label: 1.10.4
title: GCC Docker Container
pagenum: 34; label: 1.11
title: Internet, World Wide Web, the Cloud and IoT
pagenum: 35; label: 1.11.1
title: The Internet: A Network of Networks
pagenum: 36; label: 1.11.2
title: The World Wide Web
pagenum: 37; label: 1.11.3
title: The Cloud
pagenum: 37; label: 1.11.4
title: The Internet of Things
pagenum: 38; label: 1.12
title: Software Technologies
pagenum: 39; label: 1.13
title: How Big Is Big Data?
pagenum: 39; label: 1.13.1
title: Big-Data Analytics
pagenum: 45; label: 1.13.2
title: Data Science Use Cases
pagenum: 46; label: 1.14
title: Case Study—A Big-Data Mobile Application
pagenum: 47; label: 1.15
title: AI—at the Intersection of CS and Data Science
pagenum: 48; label: Chapter 2
title: Intro to C Programming
pagenum: 55; label: 2.1
title: Introduction
pagenum: 56; label: 2.2
title: Printing a Line of Text
pagenum: 56; label: 2.3
title: Adding Two Integers
pagenum: 60; label: 2.4
title: Memory Concepts
pagenum: 64; label: 2.5
title: Arithmetic in C
pagenum: 65; label: 2.6
title: Equality and Relational Operators
pagenum: 69; label: 2.7
title: Secure C Programming
pagenum: 73; label: Chapter 3
title: Structured Program Development
pagenum: 85; label: 3.1
title: Introduction
pagenum: 86; label: 3.2
title: Algorithms
pagenum: 86; label: 3.3
title: Pseudocode
pagenum: 87; label: 3.4
title: Control Structures
pagenum: 88; label: 3.5
title: if Statement
pagenum: 90; label: 3.6
title: if…else Statement
pagenum: 92; label: 3.7
title: while Statement
pagenum: 96; label: 3.8
title: Case Study 1: Counter-Controlled Iteration
pagenum: 97; label: 3.9
title: Case Study 2: Sentinel-Controlled Iteration
pagenum: 99; label: 3.10
title: Case Study 3: Nested Control Statements
pagenum: 106; label: 3.11
title: Assignment Operators
pagenum: 110; label: 3.12
title: Increment and Decrement Operators
pagenum: 111; label: 3.13
title: Secure C Programming
pagenum: 114; label: Chapter 4
title: Program Control
pagenum: 133; label: 4.1
title: Introduction
pagenum: 134; label: 4.2
title: Iteration Essentials
pagenum: 134; label: 4.3
title: Counter-Controlled Iteration
pagenum: 135; label: 4.4
title: for Iteration Statement
pagenum: 136; label: 4.5
title: Examples Using the for Statement
pagenum: 140; label: 4.6
title: switch Multiple-Selection Statement
pagenum: 144; label: 4.7
title: do…while Iteration Statement
pagenum: 150; label: 4.8
title: break and continue Statements
pagenum: 151; label: 4.9
title: Logical Operators
pagenum: 153; label: 4.10
title: Equality (==) vs Assignment (=)
pagenum: 157; label: 4.11
title: Structured-Programming Summary
pagenum: 158; label: 4.12
title: Secure C Programming
pagenum: 163; label: Chapter 5
title: Functions
pagenum: 179; label: 5.1
title: Introduction
pagenum: 180; label: 5.2
title: Modularizing Programs in C
pagenum: 180; label: 5.3
title: Math Library Functions
pagenum: 182; label: 5.4
title: Functions
pagenum: 183; label: 5.5
title: Function Definitions
pagenum: 184; label: 5.5.1
title: square Function
pagenum: 184; label: 5.5.2
title: maximum Function
pagenum: 187; label: 5.6
title: Function Prototypes
pagenum: 188; label: 5.7
title: Function-Call Stack and Stack Frames
pagenum: 191; label: 5.8
title: Headers
pagenum: 195; label: 5.9
title: Passing Arguments by Value and Reference
pagenum: 197; label: 5.10
title: Random-Number Generation
pagenum: 197; label: 5.11
title: Casino Game Case Study
pagenum: 202; label: 5.12
title: Storage Classes
pagenum: 207; label: 5.13
title: Scope Rules
pagenum: 209; label: 5.14
title: Recursion
pagenum: 212; label: 5.15
title: Fibonacci Series
pagenum: 216; label: 5.16
title: Recursion vs Iteration
pagenum: 219; label: 5.17
title: Secure Random-Number Generation
pagenum: 222; label: Case Study
title: The Tortoise and the Hare
pagenum: 241; label: Chapter 6
title: Arrays
pagenum: 243; label: 6.1
title: Introduction
pagenum: 244; label: 6.2
title: Arrays
pagenum: 244; label: 6.3
title: Defining Arrays
pagenum: 246; label: 6.4
title: Array Examples
pagenum: 246; label: 6.4.1
title: Loop Initialization
pagenum: 247; label: 6.4.2
title: Initializer Lists
pagenum: 248; label: 6.4.3
title: Symbolic Constants
pagenum: 249; label: 6.4.4
title: Summing Elements
pagenum: 250; label: 6.4.5
title: Survey Results
pagenum: 250; label: 6.4.6
title: Bar Charts
pagenum: 252; label: 6.4.7
title: 60,000,000 Dice Rolls
pagenum: 253; label: 6.5
title: Character Arrays and Strings
pagenum: 255; label: 6.5.1
title: String Initialization
pagenum: 255; label: 6.5.2
title: Initializer List of Characters
pagenum: 255; label: 6.5.3
title: Accessing Characters
pagenum: 255; label: 6.5.4
title: Input into Character Array
pagenum: 255; label: 6.5.5
title: Outputting Strings
pagenum: 256; label: 6.5.6
title: Demonstrations
pagenum: 256; label: 6.6
title: Static vs Automatic Local Arrays
pagenum: 258; label: 6.7
title: Passing Arrays to Functions
pagenum: 260; label: 6.8
title: Sorting Arrays
pagenum: 264; label: 6.9
title: Survey Data Analysis Case Study
pagenum: 267; label: 6.10
title: Searching Arrays
pagenum: 272; label: 6.10.1
title: Linear Search
pagenum: 272; label: 6.10.2
title: Binary Search
pagenum: 274; label: 6.11
title: Multidimensional Arrays
pagenum: 278; label: 6.11.1
title: Two-Dimensional Arrays
pagenum: 278; label: 6.11.2
title: Initialization
pagenum: 279; label: 6.11.3
title: Setting One Row
pagenum: 281; label: 6.11.4
title: Totaling Elements
pagenum: 281; label: 6.11.5
title: Manipulations
pagenum: 281; label: 6.12
title: Variable-Length Arrays
pagenum: 285; label: 6.13
title: Secure C Programming
pagenum: 289; label: Chapter 7
title: Pointers
pagenum: 309; label: 7.1
title: Introduction
pagenum: 310; label: 7.2
title: Pointer Definitions and Initialization
pagenum: 311; label: 7.3
title: Pointer Operators
pagenum: 312; label: 7.4
title: Pass by Reference
pagenum: 315; label: 7.5
title: const with Pointers
pagenum: 319; label: 7.5.1
title: Uppercase Conversion
pagenum: 320; label: 7.5.2
title: Printing Character by Character
pagenum: 320; label: 7.5.3
title: Modifying Constant Pointer
pagenum: 322; label: 7.5.4
title: Constant Pointer to Constant Data
pagenum: 323; label: 7.6
title: Bubble Sort with References
pagenum: 324; label: 7.7
title: sizeof Operator
pagenum: 328; label: 7.8
title: Pointer Arithmetic
pagenum: 330; label: 7.9
title: Pointers and Arrays
pagenum: 333; label: 7.10
title: Arrays of Pointers
pagenum: 338; label: 7.11
title: Card Shuffling Case Study
pagenum: 339; label: 7.12
title: Function Pointers
pagenum: 344; label: 7.13
title: Secure C Programming
pagenum: 349; label: Chapter 8
title: Characters and Strings
pagenum: 387; label: 8.1
title: Introduction
pagenum: 388; label: 8.2
title: Fundamentals of Strings and Characters
pagenum: 388; label: 8.3
title: Character-Handling Library
pagenum: 390; label: 8.3.1
title: Functions isdigit, isalpha, isalnum and isxdigit
pagenum: 391; label: 8.3.2
title: Functions islower, isupper, tolower and toupper
pagenum: 393; label: 8.3.3
title: Functions isspace, iscntrl, ispunct, isprint and isgraph
pagenum: 394; label: 8.4
title: String-Conversion Functions
pagenum: 396; label: 8.4.1
title: Function strtod
pagenum: 396; label: 8.4.2
title: Function strtol
pagenum: 397; label: 8.4.3
title: Function strtoul
pagenum: 398; label: 8.5
title: Standard Input/Output Library Functions
pagenum: 399; label: 8.5.1
title: Functions fgets and putchar
pagenum: 399; label: 8.5.2
title: Function getchar
pagenum: 401; label: 8.5.3
title: Function sprintf
pagenum: 401; label: 8.5.4
title: Function sscanf
pagenum: 402; label: 8.6
title: String-Manipulation Functions
pagenum: 403; label: 8.6.1
title: Functions strcpy and strncpy
pagenum: 404; label: 8.6.2
title: Functions strcat and strncat
pagenum: 405; label: 8.7
title: Comparison Functions
pagenum: 406; label: 8.8
title: Search Functions
pagenum: 408; label: 8.8.1
title: Function strchr
pagenum: 409; label: 8.8.2
title: Function strcspn
pagenum: 410; label: 8.8.3
title: Function strpbrk
pagenum: 410; label: 8.8.4
title: Function strrchr
pagenum: 411; label: 8.8.5
title: Function strspn
pagenum: 411; label: 8.8.6
title: Function strstr
pagenum: 412; label: 8.8.7
title: Function strtok
pagenum: 413; label: 8.9
title: Memory Functions
pagenum: 414; label: 8.9.1
title: Function memcpy
pagenum: 415; label: 8.9.2
title: Function memmove
pagenum: 416; label: 8.9.3
title: Function memcmp
pagenum: 416; label: 8.9.4
title: Function memchr
pagenum: 417; label: 8.9.5
title: Function memset
pagenum: 417; label: 8.10
title: Other String-Handling Functions
pagenum: 419; label: 8.10.1
title: Function strerror
pagenum: 419; label: 8.10.2
title: Function strlen
pagenum: 419; label: 8.11
title: Secure C Programming
pagenum: 420; label: Case Study
title: Public-Key Cryptography
pagenum: 404; label: Chapter 9
title: Formatted Input/Output
pagenum: 449; label: 9.1
title: Introduction
pagenum: 450; label: 9.2
title: Streams
pagenum: 450; label: 9.3
title: Formatting Output with printf
pagenum: 451; label: 9.4
title: Printing Integers
pagenum: 452; label: 9.5
title: Printing Floating-Point Numbers
pagenum: 453; label: 9.5.1
title: Conversion Specifiers e, E and f
pagenum: 454; label: 9.5.2
title: Conversion Specifiers g and G
pagenum: 454; label: 9.5.3
title: Demonstrating Floating-Point Conversion Specifiers
pagenum: 455; label: 9.6
title: Printing Strings and Characters
pagenum: 456; label: 9.7
title: Other Conversion Specifiers
pagenum: 457; label: 9.8
title: Field Widths and Precision
pagenum: 458; label: 9.8.1
title: Field Widths for Integers
pagenum: 458; label: 9.8.2
title: Precision for Integers, Floating-Point Numbers and Strings
pagenum: 459; label: 9.8.3
title: Combining Width and Precision
pagenum: 460; label: 9.9
title: printf Format Flags
pagenum: 461; label: 9.9.1
title: Alignment
pagenum: 461; label: 9.9.2
title: + Flag
pagenum: 462; label: 9.9.3
title: Space Flag
pagenum: 462; label: 9.9.4
title: # Flag
pagenum: 463; label: 9.9.5
title: 0 Flag
pagenum: 463; label: 9.10
title: Literals and Escape Sequences
pagenum: 464; label: 9.11
title: Formatted Input with scanf
pagenum: 465; label: 9.11.1
title: scanf Syntax
pagenum: 466; label: 9.11.2
title: scanf Conversion Specifiers
pagenum: 466; label: 9.11.3
title: Reading Integers
pagenum: 467; label: 9.11.4
title: Reading Floating-Point Numbers
pagenum: 468; label: 9.11.5
title: Reading Characters and Strings
pagenum: 468; label: 9.11.6
title: Scan Sets
pagenum: 469; label: 9.11.7
title: Field Widths
pagenum: 470; label: 9.11.8
title: Skipping Characters
pagenum: 471; label: 9.12
title: Secure C Programming
pagenum: 472; label: Chapter 10
title: Structures, Unions, Bit Manipulation and Enumerations
pagenum: 481; label: 10.1
title: Introduction
pagenum: 482; label: 10.2
title: Structure Definitions
pagenum: 483; label: 10.2.1
title: Self-Referential Structures
pagenum: 483; label: 10.2.2
title: Defining Variables
pagenum: 484; label: 10.2.3
title: Structure Tag Names
pagenum: 484; label: 10.2.4
title: Structure Operations
pagenum: 484; label: 10.3
title: Initializing Structures
pagenum: 486; label: 10.4
title: Accessing Members (. and ->)
pagenum: 486; label: 10.5
title: Structures with Functions
pagenum: 488; label: 10.6
title: typedef
pagenum: 488; label: 10.7
title: High-Performance Card Shuffling
pagenum: 489; label: 10.8
title: Unions
pagenum: 492; label: 10.8.1
title: union Declarations
pagenum: 493; label: 10.8.2
title: Allowed Operations
pagenum: 493; label: 10.8.3
title: Initializing unions
pagenum: 493; label: 10.8.4
title: Demonstrating unions
pagenum: 494; label: 10.9
title: Bitwise Operators
pagenum: 495; label: 10.9.1
title: Displaying Bits
pagenum: 496; label: 10.9.2
title: Generic displayBits
pagenum: 497; label: 10.9.3
title: AND, OR, XOR, Complement
pagenum: 498; label: 10.9.4
title: Shift Operators
pagenum: 501; label: 10.9.5
title: Bitwise Assignment
pagenum: 503; label: 10.10
title: Bit Fields
pagenum: 504; label: 10.10.1
title: Defining Bit Fields
pagenum: 504; label: 10.10.2
title: Representing Card Attributes
pagenum: 505; label: 10.10.3
title: Unnamed Bit Fields
pagenum: 507; label: 10.11
title: Enumeration Constants
pagenum: 507; label: 10.12
title: Anonymous Structures and Unions
pagenum: 509; label: 10.13
title: Secure C Programming
pagenum: 510; label: Chapter 11
title: File Processing
pagenum: 539; label: 11.1
title: Introduction
pagenum: 540; label: 11.2
title: Files and Streams
pagenum: 540; label: 11.3
title: Creating a Sequential-Access File
pagenum: 542; label: 11.3.1
title: Pointer to a FILE
pagenum: 543; label: 11.3.2
title: Using fopen to Open a File
pagenum: 543; label: 11.3.3
title: Using feof to Check for End-of-File
pagenum: 543; label: 11.3.4
title: Using fprintf to Write to a File
pagenum: 544; label: 11.3.5
title: Using fclose to Close a File
pagenum: 544; label: 11.3.6
title: File-Open Modes
pagenum: 545; label: 11.4
title: Reading Data from a Sequential-Access File
pagenum: 547; label: 11.4.1
title: Resetting the File Position Pointer
pagenum: 548; label: 11.4.2
title: Credit Inquiry Program
pagenum: 548; label: 11.5
title: Random-Access Files
pagenum: 552; label: 11.6
title: Creating a Random-Access File
pagenum: 553; label: 11.7
title: Writing Data Randomly to a Random-Access File
pagenum: 555; label: 11.7.1
title: Positioning with fseek
pagenum: 557; label: 11.7.2
title: Error Checking
pagenum: 558; label: 11.8
title: Reading Data from a Random-Access File
pagenum: 558; label: 11.9
title: Case Study: Transaction-Processing System
pagenum: 560; label: 11.10
title: Secure C Programming
pagenum: 566; label: Case Study
title: Intro to NLP—Who Wrote Shakespeare’s Works?
pagenum: 576; label: Case Study
title: Machine Learning with GNU Scientific Library
pagenum: 582; label: Case Study
title: Time Series and Simple Linear Regression
pagenum: 588; label: Case Study
title: Web Services and the Cloud—libcurl and OpenWeatherMap
pagenum: 589; label: Chapter 12
title: Data Structures
pagenum: 595; label: 12.1
title: Introduction
pagenum: 596; label: 12.2
title: Self-Referential Structures
pagenum: 597; label: 12.3
title: Dynamic Memory Management
pagenum: 598; label: 12.4
title: Linked Lists
pagenum: 599; label: 12.4.1
title: Function insert
pagenum: 603; label: 12.4.2
title: Function delete
pagenum: 605; label: 12.4.3
title: Functions isEmpty and printList
pagenum: 607; label: 12.5
title: Stacks
pagenum: 608; label: 12.5.1
title: Function push
pagenum: 612; label: 12.5.2
title: Function pop
pagenum: 613; label: 12.5.3
title: Applications of Stacks
pagenum: 613; label: 12.6
title: Queues
pagenum: 614; label: 12.6.1
title: Function enqueue
pagenum: 619; label: 12.6.2
title: Function dequeue
pagenum: 620; label: 12.7
title: Trees
pagenum: 621; label: 12.7.1
title: Function insertNode
pagenum: 624; label: 12.7.2
title: Traversals: inOrder, preOrder, postOrder
pagenum: 625; label: 12.7.3
title: Duplicate Elimination
pagenum: 626; label: 12.7.4
title: Binary Tree Search
pagenum: 626; label: 12.7.5
title: Other Binary Tree Operations
pagenum: 626; label: 12.8
title: Secure C Programming
pagenum: 627; label: Special Section
title: Systems Software Case Study—Building Your Own Compiler
pagenum: 636; label: Chapter 13
title: Sorting Algorithms and Big O
pagenum: 657; label: 13.1
title: Introduction
pagenum: 658; label: 13.2
title: Efficiency of Algorithms: Big O
pagenum: 659; label: 13.2.1
title: O(1) Algorithms
pagenum: 659; label: 13.2.2
title: O(n) Algorithms
pagenum: 659; label: 13.2.3
title: O(n²) Algorithms
pagenum: 659; label: 13.3
title: Selection Sort
pagenum: 660; label: 13.3.1
title: Implementation
pagenum: 661; label: 13.3.2
title: Efficiency
pagenum: 664; label: 13.4
title: Insertion Sort
pagenum: 665; label: 13.4.1
title: Implementation
pagenum: 665; label: 13.4.2
title: Efficiency
pagenum: 668; label: 13.5
title: Case Study: Merge Sort
pagenum: 668; label: 13.5.1
title: Implementation
pagenum: 669; label: 13.5.2
title: Efficiency
pagenum: 673; label: 13.5.3
title: Comparing Big O Notations
pagenum: 674; label: Chapter 14
title: Preprocessor
pagenum: 681; label: 14.1
title: Introduction
pagenum: 682; label: 14.2
title: #include Directive
pagenum: 683; label: 14.3
title: #define: Symbolic Constants
pagenum: 683; label: 14.4
title: #define: Macros
pagenum: 684; label: 14.4.1
title: Macro with One Argument
pagenum: 685; label: 14.4.2
title: Macro with Two Arguments
pagenum: 686; label: 14.4.3
title: Macro Continuation Character
pagenum: 686; label: 14.4.4
title: #undef Directive
pagenum: 686; label: 14.4.5
title: Standard-Library Macros
pagenum: 686; label: 14.4.6
title: Side Effects in Macros
pagenum: 687; label: 14.5
title: Conditional Compilation
pagenum: 687; label: 14.5.1
title: #if…#endif
pagenum: 687; label: 14.5.2
title: Commenting Code with #if
pagenum: 688; label: 14.5.3
title: Debug Code Compilation
pagenum: 688; label: 14.6
title: #error and #pragma
pagenum: 689; label: 14.7
title: # and ## Operators
pagenum: 690; label: 14.8
title: Line Numbers
pagenum: 690; label: 14.9
title: Predefined Symbolic Constants
pagenum: 691; label: 14.10
title: Assertions
pagenum: 691; label: 14.11
title: Secure C Programming
pagenum: 692; label: Chapter 15
title: Other Topics
pagenum: 699; label: 15.1
title: Introduction
pagenum: 700; label: 15.2
title: Variable-Length Argument Lists
pagenum: 700; label: 15.3
title: Command-Line Arguments
pagenum: 702; label: 15.4
title: Compiling Multiple-Source Programs
pagenum: 704; label: 15.4.1
title: extern Declarations
pagenum: 704; label: 15.4.2
title: Function Prototypes
pagenum: 705; label: 15.4.3
title: Restricting Scope with static
pagenum: 705; label: 15.5
title: exit and atexit
pagenum: 706; label: 15.6
title: Literal Suffixes
pagenum: 708; label: 15.7
title: Signal Handling
pagenum: 708; label: 15.8
title: calloc and realloc
pagenum: 711; label: 15.9
title: goto
pagenum: 713; label: Appendix A
title: Operator Precedence Chart
pagenum: 719; label: Appendix B
title: ASCII Character Set
pagenum: 721; label: Appendix C
title: Multithreading/Multicore and C18/C11/C99 Topics
pagenum: 723; label: C.1
title: Introduction
pagenum: 724; label: C.2
title: Headers Added in C99
pagenum: 725; label: C.3
title: Designated Initializers and Compound Literals
pagenum: 725; label: C.4
title: Type bool
pagenum: 727; label: C.5
title: Complex Numbers
pagenum: 728; label: C.6
title: Macros with Variable-Length Arguments
pagenum: 730; label: C.7
title: Other C99 Features
pagenum: 730; label: C.7.1
title: Compiler Resource Limits
pagenum: 730; label: C.7.2
title: restrict Keyword
pagenum: 730; label: C.7.3
title: Reliable Integer Division
pagenum: 731; label: C.7.4
title: Flexible Array Members
pagenum: 731; label: C.7.5
title: Type-Generic Math
pagenum: 732; label: C.7.6
title: Inline Functions
pagenum: 732; label: C.7.7
title: func Identifier
pagenum: 732; label: C.7.8
title: va_copy Macro
pagenum: 733; label: C.8
title: C11/C18 Features
pagenum: 733; label: C.8.1
title: C11/C18 Headers
pagenum: 733; label: C.8.2
title: quick_exit Function
pagenum: 733; label: C.8.3
title: Unicode Support
pagenum: 733; label: C.8.4
title: _Noreturn Specifier
pagenum: 734; label: C.8.5
title: Type-Generic Expressions
pagenum: 734; label: C.8.6
title: Annex L: Undefined Behavior
pagenum: 734; label: C.8.7
title: Memory Alignment Control
pagenum: 735; label: C.8.8
title: Static Assertions
pagenum: 735; label: C.8.9
title: Floating-Point Types
pagenum: 735; label: C.9
title: Multithreading Performance Case Study
pagenum: 736; label: C.9.1
title: Sequential Execution Example
pagenum: 739; label: C.9.2
title: Multithreaded Execution Example
pagenum: 741; label: C.9.3
title: Other Multithreading Features
pagenum: 745; label: Appendix D
title: Intro to Object-Oriented Programming Concepts
pagenum: 747; label: D.1
title: Introduction
pagenum: 747; label: D.2
title: OOP Languages
pagenum: 747; label: D.3
title: Automobile as an Object
pagenum: 748; label: D.4
title: Methods and Classes
pagenum: 748; label: D.5
title: Instantiation
pagenum: 748; label: D.6
title: Reuse
pagenum: 748; label: D.7
title: Messages and Method Calls
pagenum: 749; label: D.8
title: Attributes and Instance Variables
pagenum: 749; label: D.9
title: Inheritance
pagenum: 749; label: D.10
title: OOAD
pagenum: 750; label: Index
title: 751