Skip to main content

Reference and Selective Reading

You do not need to read the source books front-to-back for this module. Use the concept pages and practice pages first. Open these local chunks only when you need alternate exposition, more worked examples, or a deeper exercise lane.

Source Roles

SourceRoleWhy it is here
The C Programming Language (K&R, 2nd ed)Primary teaching sourceMost compact canonical explanation of every C language feature at this module's scope
Computer Organization and Design (Patterson & Hennessy)Selective supportStrongest explanation of the translation pipeline, what the assembler produces, and what the linker does
Code (Petzold)Background onlyOptional second-pass intuition for the bytes, words, and codes the C abstract machine rests on
SICPLight support onlyOpens occasionally when abstraction thinking is the real gap, not C syntax

Read Only If Stuck

Cluster 1: The C Mental Model

Cluster 2: Types, Expressions, and Control Flow

Cluster 3: Functions, Scope, and Storage Classes

Cluster 4: Arrays, Strings, and I/O

Cluster 5: Structuring C Programs

Optional Deep Dive

Concept-to-Source Map

Primary conceptBest source if stuckWhy this source
C Is a Portable AssemblerK&R: Pointers and addressesShortest statement of the address-of-object model
The Translation PipelineCOD: Translating and starting a programClearest stage-by-stage walkthrough with diagrams
Primitive Types and Integer WidthsK&R: Type conversionsInteger promotion and conversion rules in one place
Operators and Sequence PointsK&R: Precedence and order of evaluationCanonical table plus the sequence-point caveats
Functions, Declarations vs DefinitionsK&R: Basics of functionsPrototype rules and the compilation-unit model
Scope, Linkage, Storage ClassesK&R: Scope and linkage (A.11)Formal statement when intuition fails
Arrays Decay to PointersK&R: Pointers and arraysCanonical explanation of array-to-pointer conversion
C Strings and Buffer SafetyK&R: Character pointers and functionsMost concrete treatment of the null-terminated contract
Standard I/OK&R: Standard input and outputBest reference for printf, scanf, fgets at this scope
Structs, Unions, typedefK&R: Basics of structuresCleanest first pass through aggregate types
Header Organization and Modular BuildsK&R: External declarations (A.10)Formal rules for declaration / definition / linkage at file scope