1. Course Introduction
Course Objectives
Course Overview
Suggested References
2. The C Development Environment
The cc(1) Command
Include Files
Libraries
3. 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
4. Function: Calling, Passing, andReturning Values
Anatomy of a function
Parameter passing - pass by value
Parameter passing - pass by reference
5. Standard I/O
Standard I/O streams
File access
Formatted I/O
String I/O
File positioning operations
Block I/O
6. Low Level File I/O
Standard I/O vs system I/O
File access
Direct I/O
File Positioning
Error Handling
7. Memory Allocation with malloc and calloc
Dynamic memory allocation overview
malloc(), calloc()
realloc(), free()
Structure Pointers
Array of pointers to structures
8. 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
9. Data Structures - Linked Lists
Array limitations
Linked lists
List operations - formation
List operations – delete
Appendix – A
Debugging Techniques
Debugging Hints
Debugging with Pre- Processing Directives
Debug Macro
Symbolic Debuggers
Appendix – B
Coding from Pseudo Code
Project Header Files
Project Source Files
Project Tracking (Bookkeeping)
Appendix – C
Overview of the Make Utility
Using the Make Utility
Simple Makefile Commands
Appendix – D
Preparing to Use a Debugger
Project Header Files
Project Source Files
Project Tracking (Bookkeeping)