Advanced C Programming Course

About the Advanced C Programming course

The Advanced C Programming course will take you to the next level as a C programmer. You will learn advanced C programming concepts, and techniques to make your code more efficient and more portable. C is a powerful programming language that is used for applications that need to be fast, reliable and robust. It is one of the most important languages in the world.

What others say

Why you want to attend

You want to attend the Advanced C Programming course if:
  • You are a C programmer and you want to learn about the advanced aspects of the C language.
  • You are a C programmer and you want to learn to write better C code.
  • You are an engineer working with embedded systems written in C.

What you need to know first

Before you attend the Advanced C Programming course:
  • You must have attended our Standard C Programming course or already be comfortable with the fundamentals of the C programming language.
  • You should have at least 6 months practical experience programming in C.

Price and duration

Price: R14,800.00 excluding VAT per delegate. This price includes everything that you need:
  • All course material, provided in an electronic format.
  • An attendance certificate after the course, in PDF format.
Duration: 5 days. The Advanced C Programming course is presented virtually. Find out more about out our virtual training and how it works. Please check the course schedule for the next available date.

How to book

It’s so easy to book for the Advanced C Programming course. Just email us at You can send us a purchase order, or fill in our course enrolment form. After we have received your booking, we will confirm that you are booked, and we’ll send you an invoice.

Detailed course contents


  • Professionalism.
  • Portability.
  • Modularity.
  • Structured programming.
  • Coding standards.
  • Standard library functions.
  • Non-standard functions.
  • Under-utilized functions.

The C compiler

  • Technical aspects.
  • Startup code/module.
  • Modifications for embedded / custom systems.
  • Translation order and tokenisation.
  • Object modules.
  • Compiler switches.

The C Preprocessor

  • Conditional compilation.
  • Token concatenation.
  • Stringization.
  • 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, logic errors.
  • Error proximity.
  • Debuggers.
  • Memory initialization.
  • Structure sentinels.
  • Stack errors.
  • Conditional compilation.


  • Good programming practices and conventions.
  • Portability related issues.
  • References to C++, and contrasting C with C++.

Download the course outline

Download the Advanced C Programming course outline in PDF format.

Thank You

We're Excited!

Thank you for completing the form. We're excited that you have chosen to contact us about training. We will process the information as soon as we can, and we will do our best to contact you within 1 working day. (Please note that our offices are closed over weekends and public holidays.)

Don't Worry

Our privacy policy ensures your data is safe: Incus Data does not sell or otherwise distribute email addresses. We will not divulge your personal information to anyone unless specifically authorised by you.

If you need any further information, please contact us on tel: (27) 12-666-2020 or email

How can we help you?

Let us contact you about your training requirements. Just fill in a few details, and we’ll get right back to you.