WA1079 Advanced C Programming Course Outline
1. The C Development Environment
  • The cc(1) Command
  • Include Files
  • Libraries
2. Basic and Derived Data Types in C
  • Simple C data types
  • Integral data types
  • Floating point types
  • Derived data types
  • Array data types - single and multi-dimensional
  • Structure data types
  • Simple pointer types
  • Pointers to structures/multiple pointers
  • Pointers to functions
  • The const qualifier
  • Bit operators
  • Using typedef
3. Function: Calling, Passing, and Returning Values
  • Anatomy of a function
  • Parameter passing - pass by value
  • Parameter passing - pass by reference
4. Standard I/O
  • Standard I/O streams
  • File access
  • Formatted I/O
  • String I/O
  • File positioning operations
  • Block I/O
5. Low Level File I/O
  • Standard I/O vs system I/O
  • File access
  • Direct I/O
  • File Positioning
  • Error Handling
6. Memory Allocation with malloc and calloc
  • Dynamic memory allocation overview
  • malloc(), calloc()
  • realloc(), free()
  • Structure Pointers
  • Array of pointers to structures
7. Memory Organization and the Scope of Variables
  • Command line arguments (argc, argv)
  • The memory layout of a C Program
  • The stack segment
  • The heap segment
8. Data Structures - Linked Lists
  • Array limitations
  • Linked lists
  • List operations - formation
  • List operations - delete