Advanced C Programming

Summary
This course gives C programmers practical experience applying advanced C programming techniques. The course is operating system independent.

Prerequisites
Participants must have a working knowledge of C programming language, or have attended the C Programming course.

Course Objectives
On completion of this course, the student should be able to
  • Use the enhancements offered by ANSI C
  • Use all the functions in the ANSI library
  • Write sophisticated applications using multiple source files and separate compilation
  • Implement algorithms involving complex data structures
  • Describe all of the techniques and facilities for error trapping and error recovery
  • Identify potential barriers to portability
Length
5 Days

Format
Instructor-led course, with practical computer-based exercises.

Course Outline
  • Debugging
    • Debugging tools
    • Code view - Microsoft C
    • sdb and dbx
  • Working with Multiple Files
    • Compilation and linking
    • Scope rules revisited
    • Include files
  • MAKE
    • Basic features
    • Makefile macros
    • The Makefile description file
    • Adding new rules
  • The Standard C Library
    • Character handling
    • Mathematical functions
    • Standard I/O
    • General utilities
    • String handling
    • Block memory functions
    • Date and time functions
    • Regular expression
  • The Standard C Library
    • Dynamic data structures
    • Self-referential structures
    • Linked lists
    • Doubly linked lists queues
    • Binary trees
    • Balanced (AVL) binary trees
    • Flattening the search
  • Behavior of Complete Programs
    • The invocation environment
    • Command line parser- getopt
    • Interfacing to whole programs
    • Program termination
    • Exception handling
    • Controlled backtracking

Hardware and Software Requirements
An ANSI C compiler running on any platform.

Go to course catalogue