C Tutorial BPCL
The C Language
C History

Euclid’s Algorithm in C
Euclid on the PDP-11
Pieces of C
C Types
Struct bit-fields
Code generated by bit fields
C Unions
Layout of Records and Unions
C Storage Classes
malloc() and free()
Dynamic Storage Allocation
Simple Dynamic Storage Allocation
malloc() and free() variants
Fragmentation and Handles
Automatic Garbage Collection
Lazy Logical Operators
The Switch Statement
setjmp/longjmp: Sloppy exceptions
Nondeterminism in C




  • Martin Richards, Cambridge, 1967
  • Typeless 

Everything a machine word (n-bit integer) Pointers (addresses) and integers identical

  • Memory: undifferentiated array of words 

  • Natural model for word-addressed machines

  • Local variables depend on frame-pointer-relative addressing: no dynamically-sized automatic objects


  • Strings awkward: Routines expand and pack bytes to/from word arrays

Contact for more learning: webmaster@freehost7com