Book Description
This book teaches you to take your C programming skills to new heights, whether you're just starting out with C or have more extensive experience. Organized by level, this comprehensive guide lets you jump in where it suits you best while still reaping the maximum benefits.
The C programming language has been around for a long time - the canonical reference for it is the book written by its creators, Kernighan and Ritchie [1978]. Since then, C has been used in an incredible number of applications. Programs and systems written in C are all around us: in personal computers, phones, cameras, set-top boxes, refrigerators, cars, mainframes, satellites, basically in any modern device that has a programmable interface.
Table of contents
- Getting started
- Imperative programming
- Compiling and running
- The principal structure of a program
- Grammar
- Declarations
- Definitions
- Statements
- Warning to experienced C programmers
- Everything is about control
- Conditional execution
- Iterations
- Multiple selection
- Expressing computations
- Arithmetic
- Operators that modify objects
- Boolean context
- The ternary or conditional operator
- Evaluation order
- Basic values and data
- Basic types
- Specifying values
- Initializers
- Named constants
- Binary representions
- Aggregate data types
- Arrays
- Pointers as opaque types
- Structures
- New names for types: typedef
- Functions
- Simple functions
- main is special
- Recursion
- C Library functions
- Mathematics
- Input, output and file manipulation
- String processing and conversion
- Time
- Runtime environment settings
- Program termination and assertions
- Style
- Formatting
- Naming
- Organization and documentation
- Interface documentation
- Implementation
- Macros
- Pure functions
- Pointers
- Address-of and object-of operators
- Pointer arithmetic
- Pointers and structs
- Opaque structures
- Array and pointer access are the same
- Array and pointer parameters are the same
- Null pointers
- Function pointers
- The C memory model
- A uniform memory model
- Unions
- Memory and state
- Pointers to unspecific objects
- Implicit and explicit conversions
- Effective Type
- Alignment
- Allocation, initialization and destruction
- malloc and friends
- Storage duration, lifetime and visibility
- Initialization
- Digression: a machine model
- More involved use of the C library
- Text processing
- Formatted input
- Extended character sets
- Binary files
- Error checking and cleanup
- Performance
- Safety first
- Optimizers are good enough
- Help the compiler
- Inline functions
- Avoid aliasing: restrict qualifiers
- Measurement and inspection
- Functionlike macros
- how does it work
- Argument checking
- Accessing the calling context
- Variable length argument lists
Size : | 1940.449 Kb |
Downloads: | 230 |
Created: | 2019-09-09 |