Cette page n'est pas disponible en français. Veuillez-nous en excuser.

C programming fundamentals

The C programming language can be used to develop both system software and application software, on any platform (Linux/Unix, Windows, Mac, embedded systems, mainframe). The popularity of C is explained by its flexibility and efficiency, its simple way to address low-level functions, and the fact that programs can easily be transferred between platforms. Also, lots of highly efficient and often even open-source software libraries have been written in C and can thus be easily called from other C programs.

This course will cover the syntax and structure of the ISO/ANSI definition of the C language (more specifically C99 and C11). The course also covers the C preprocessor, debugging tools (gdb), and build tools (like configure and make).

At the end of the course, students will know

  • the basics of ANSI C, its data types and pointers, and will be able to write C applications;
  • the most important standard C libraries, with functionality for input/output, string manipulation, and memory management.


Il n'y a pas de sessions publiques à ce moment. Nous organisons volontiers un cours en entreprise ou une session publique supplémentaire (en cas d'un nombre suffisant de participants). Intéressé? Veuillez contacter ABIS.

Intended for

Application programmers wanting to write or maintain C programs.


Knowledge of programming structures and algorithmic concepts is required. Knowledge of an other programming language might be an advantage.

Main topics

  • Basic syntax • program structure • elementary data types • operators • expressions • strings.
  • comparison operators and flow control (while/for/do/if/switch).
  • Arrays • pointers • structures • union • bit fields • enum • bitwise operators
  • Using pointers to modify arguments • strings and common string functions • arrays of pointers
  • Functions and prototyping • identifier scope and storage class • header files • recursivity.
  • The C preprocessor • working with macros • conditional compilation.
  • Getting and displaying text • working with files
  • Using standard input and standard output
  • Linked lists • function pointers • "hook" functions
  • Dynamic memory allocation

Training method

Theory alternated with practical exercises, at choice on Linux, Unix, or Windows.


3 days.

Course leader

Peter Vanroose.