List of Listings
Chapter 1. Getting started
Listing 1.1. A first example of a C program
Terminal
getting-started.c
Terminal
Terminal
Terminal
Listing 1.2. An example of a C program with flaws
Terminal
Terminal
Chapter 2. The principal structure of a program
getting-started.c
getting-started.c
Terminal
getting-started.c
getting-started.c
getting-started.c
Chapter 3. Everything is about control
Terminal
Listing 3.1. Computing multiplicative inverses of numbers
Terminal
Chapter 5. Basic values and data
Listing 5.1. An enumeratin type and related array of strings
Chapter 6. Derived data types
Listing 6.1. A function with an array parameter
Listing 6.2. Using some of the string functions
Terminal
yday.c
yday.c
yday.c
yday.c
Listing 6.3. A sample program manipulating struct tm
Chapter 7. Functions
yday.c
euclid.h
euclid.h
fibonacci.c
fibonacciCache.c
fibonacci2.c
Chapter 8. C library functions
Listing 8.1. flushing buffered output
Listing 8.2. Implementing fgets in terms of fgetc
Listing 8.3. A program to dump multiple text files to stdout
strtoul.c
strtoul.c
strtoul.c
Terminal
Chapter 10. Organization and documentation
heron_k.h
rationals.h
rationals.c
rationals.c
rationals.c
rationals.c
rationals.c
Listing 10.1. A type for computation with rational numbers.
Chapter 11. Pointers
timespec.c
rationals.c
rationals.c
rationals.c
rationals.c
rationals.c
rationals.c
Chapter 12. The C memory model
endianness.c
endianness.c
Terminal
endianness.c
Terminal
crash.c
Chapter 13. Storage
circular.c
circular.c
circular.c
circular.c
circular.c
circular.c
circular.c
circular.c
circular.c
Listing 13.1. An example of shadowing with local variables
Listing 13.2. An example of shadowing with an extern variable
Listing 13.3. A contrived example for the use of a compound literal
Terminal
Listing 13.4. An assembler version of the fgoto function
Listing 13.5. An optimized assembler version of the fgoto function
Chapter 14. More involved processing and IO
numberline.c
numberline.c
numberline.c
numberline.c
numberline.c
numberline.c
mbstrings-main.c
mbstrings-main.c
mbstrings.c
mbstrings.h
mbstrings.c
mbstrings.c
mbstrings.c
numberline.c
numberline.c
numberline.c
numberline.c
Chapter 15. Performance
Listing 15.1. Measuring several code snippets repeatedly
timespec.c
Listing 15.2. Collecting time statistics with timespec_diff and stats_collect2
Listing 15.3. Printing time statistics with stats_mean and stats_rsdev_unbiased
Terminal
Listing 15.4. Collecting statistics up to the third moment
stats.h
Listing 15.5. GCC’s assembler for stats_collect2(c)
Listing 15.6. Instrumenting three for loops with struct timespec
Listing 15.7. GCC’s version of the first loop from Listing 15.6
Listing 15.8. Clang’s version of the first loop from listing 15.6
Listing 15.9. GCC’s version of the second loop from listing 15.6
Listing 15.10. GCC’s version of the third loop from listing 15.6
Chapter 16. Function-like macros
macro_trace.h
macro_trace.c
macro_trace.h
macro_trace.h
macro_trace.h
macro_trace.h
macro_trace.h
macro_trace.h
macro_trace.h
macro_trace.h
macro_trace.c
Terminal
macro_trace.h
macro_trace.c
Terminal
macro_trace.h
macro_trace.h
generic.h
macro_trace.h
macro_trace.c
Terminal
macro_trace.h
macro_trace.h
macro_trace.h
macro_trace.h
macro_trace.c
Terminal
macro_trace.h
macro_trace.c
Terminal
macro_trace.h
macro_trace.h
macro_trace.h
macro_trace.h
va_arg.c
va_arg.c
generic.h
generic.h
generic.h
macro_trace.h
macro_trace.h
macro_trace.h
macro_trace.h
Chapter 17. Variations in control flow
Listing 17.1. A recursive descent parser for code indentation
Terminal
sequence_point.c
Terminal
Terminal
basic_blocks.c
basic_blocks.c
Listing 17.2. The user interface for the recursive descent parser
Terminal
basic_blocks.c
sighandler.h
sighandler.c
basic_blocks.c
Terminal
sighandler.c
sighandler.h
sighandler.c
sighandler.h
sighandler.h
Chapter 18. Threads
B9.c
B9.c
B9.c
B9.c
B9.c
life.h
life.h
Listing 18.1. The input thread function of B9
Listing 18.2. The account thread function of B9
Listing 18.3. The update thread function of B9
Listing 18.4. The draw thread function of B9
life.c
B9.c
B9.c
B9.c
B9.c
B9-detach.c
B9-detach.c