Learnit Training
Advanced C Programming Course
  • Small groups
  • Covid-19 safe
  • Experienced teacher
  • Possible online
  • Practical training

Advanced C Programming Course

Advanced aspects of programming in C are discussed, including the use of modules and interfaces, object-oriented programming in C and encapsulation. Attention is also paid to potential dangers of certain C constructions such as macros, evaluation order and globals.

Pointer techniques are discussed as well as the use of pointers to functions. The most commonly used dynamic data structures such as arrays, linked lists, hash tables and trees are discussed in detail. Attention is also paid to optimisation techniques with respect to speed and memory. The more advanced functions from the C library such as setjmp, longjmp, signal, bsearch, and qsort etc. are also covered. Finally, attention is paid to bit manipulation and advanced string handling and parsing.


The following topics are covered during the course:

  • Coding style
  • Evaluation order
  • Risk of macros
  • Use of const
  • Code re-use
  • Modules and interfaces
  • Object Oriented Programming in C
  • Encapsulation / Data Hiding
  • Pointer arithmetic, Function pointers
  • Variable Length Argument Lists
  • Arrays versus pointers
  • Multidimensional Arrays, Dynamic Arrays, Ragged Arrays
  • Dynamic data structures
  • Linked Lists, Doubly Linked Lists
  • Stacks, Queues And Lists
  • Hash Tables, Open Address Hash Tables
  • Trees
  • Recursive vs. Iterative traversal
  • Bit Manipulation
  • Optimising memory management
  • Optimisation Techniques
  • C Standard Library
  • Handling Asynchronous Events With Signal
  • setjmp and longjmp
  • atexit, assert, perror
  • qsort and bsearch
  • Advanced String Handling.

Target group

This course is intended for those who wish to immerse themselves in the more advanced features and techniques of the C language.

Prior knowledge

To participate in this course, knowledge of the basic concepts of C and programming experience in C is required.


The concepts are dealt with by means of presentation sheets. Illustrative example programmes are used to clarify the concepts covered. There is ample opportunity for practice and an alternation between theory and practice.


The training is provided in Dutch as standard. The trainer has a good command of the English language. Use can be made of course material in English. With a minimum of three participants, the training can also be provided entirely in English.


Prices mentioned are per person, including course material. Lunch is included in the on-site training.

On location Online
Duration 4 days 8 sessions of three hours
Price per day, excluding VAT € 550,- € 465,-
Total, incl. VAT € 2662,- € 2250,60


After completion of the training, a Learnit certificate is issued as proof of participation.


We also organise this training online. For this we use Webbex or Zoom. Login with Skype is also possible. On request, this training can also be organised with Microsoft Teams.

The training lasts 8 sessions of 3 hours, spread over 8 weeks.

  • You can participate again free of charge up to one year after the training.
  • For an additional catering fee, you can also participate in a classroom training.


The course C Programming Advanced has been assessed with an average of 8.

"I have very good impression of the content of the training and specially of the trainer".

"Good course with good content and where new things are taught in an effective and efficient way.

"For me, the biggest plus was that the teaching material is very clear. This allows you to follow the training at your leisure without the stress of wondering what they mean. I have been very positively surprised. however, I must say that I already had some knowledge of access."

"In a short period of time, unfortunately I was unable to attend the second day, I learned very practical applications."

"Excellent training