Advanced C Programming Course

Read more about the Advanced C Programming course overview, prices and how to book.

Course Objectives: What Will I Learn?

Delegates who complete the Advanced C Programming course will be able to:

  • Understand advanced C programming development techniques.
  • Understand and use all types of pointers.
  • Use self-referencing structures and link lists.
  • Manage memory within C applications.

Intended Audience: Is This The Right Course For Me?

This course is intended for:

  • Programmers who have developed in C for at least 6 months, and who need to learn more advanced techniques. It is also useful for engineers developing embedded applications.

Course Prerequisites: Am I Ready For The Course?

Our Standard C Programming course or equivalent experience in C programming.

Please ensure you meet the prerequisites for the Advanced C Programming Course before you attend the course. Read the importance of course prerequisites to understand why this is necessary.

Course Contents: What Does The Course Cover?

Introduction
Professionalism. •  Portability. •  Modularity. •  Structured programming. •  Coding standards. •  Standard library functions. •  Non-standard functions. •  Under-utilized functions.
The C compiler
Technical aspects. •  Startup module. •  Modifications for embedded / custom systems. •  Translation order and tokenization. •  Object modules. •  Compiler switches.
The C Preprocessor
Conditional compilation. •  Token concatenation. •  Stringization. •  Charization. •  Compilation units. •  Trigraphs. •  Advanced macros.
Expressions, Types and Variables
Expression evaluation. •  Operator association and precedence. •  Sequence guarantee points. •  Implicit/explicit type conversions. •  Literals. •  Escape characters. •  Type hierarchy. •  Derived types. •  Bitfields. •  Portability.
Functions, Statements and Program Structure
Overview. •  Stack usage for local variables and parameters. •  Function returns. •  Function call operator. •  Variable number of parameters. •  Structured programming vs OOP techniques. •  Libraries and make files.
Arrays and Pointers
Array names. •  Array manipulation. •  Multi-dimensional arrays. •  Pointer variables. •  Indirection. •  Dynamic arrays and pointers. •  Pointers to structures and functions.
Memory management
The C runtime memory. •  Stack, heap and static data areas. •  Dynamic memory. •  Fragmentation of memory. •  Memory management techniques.
Data Structures
Creating and using structures. •  Self-referencing structures. •  Linked lists. •  Generic data structures. •  Portability. •  Memory management. •  Information hiding.
Debugging Techniques
Stabilization: lexical, syntactic, execution and logic errors. •  Locating errors: lexical, material and referential proximity. •  Debuggers. •  Memory initialization. •  Structure sentinels. •  Stack errors. •  Conditional compilation.
Miscellaneous
Introduction to numerical methods, encryption, sorting and algorithm evaluation. •  Introduction to C++. •  Graphical User Interfaces.

Download the Advanced C Programming course contents in PDF format for easy printing.


Home   |    Top of this page   |    Contact Us    Incus Data Anvil Man Schedule   |    Course List   |    FAQ   |    Sitemap

Essential Skills for IT