Course : C programming, advanced

Practical course - 3d - 21h00 - Ref. CFT
Price : 1940 CHF E.T.

C programming, advanced




This course enables you to deepen and broaden your knowledge of the C language. Through a wide range of exercises, you'll learn about the advanced aspects of pointers, recursion, the major changes brought about by the C11 standard and object-oriented programming.


INTER
IN-HOUSE
CUSTOM

In person or remote class
Available in English on request

Ref. CFT
  3d - 21h00
1940 CHF E.T.




This course enables you to deepen and broaden your knowledge of the C language. Through a wide range of exercises, you'll learn about the advanced aspects of pointers, recursion, the major changes brought about by the C11 standard and object-oriented programming.


Teaching objectives
At the end of the training, the participant will be able to:
Handling pointers, function pointers and language-integrated libraries
Master recursive data structures and their intrinsic algorithms
Use development tools associated with the C language
Master object-oriented developments and major additions to the C11 standard

Intended audience
Designers, developers.

Prerequisites
Good knowledge of the C language or knowledge equivalent to that acquired in the course "Programming in C" (ref. LGC).

Course schedule

1
Pointers and arrays

  • Reminders about pointers and arrays, and the differences and similarities between the two.
  • The three arguments to the main() function, environment variables.
  • Multi-index tables.
  • Function pointer, array of function pointers.
  • Dynamic allocation identified by pointers.
Hands-on work
Development of pointer-intensive programs.

2
Function libraries

  • Standard language libraries: ctype.h, math.h, stdlib.h, time.h... and others.
  • Advanced mathematics libraries: Linpack, Lapack.
  • Dynamic allocation management: calloc(), realloc() functions.
  • Functions with a variable number of arguments, both existing and created by the programmer.
Hands-on work
Use of several function libraries.

3
Recursivity

  • Defining recursion.
  • Recursive functions.
  • Recursive data structures: lists, trees.
  • Intrinsic algorithms for recursive data structures (insertion, removal, etc.).
Hands-on work
Creation of a library for handling recursive data.

4
Development tools for the C language

  • Troubleshooting programs: the debugger.
  • Dependency management tools: make and touch.
  • Dynamic program analysis: the profiler.
  • Testing tools: CUnit.
Hands-on work
Use of development tools for the C language.

5
From C to object-oriented programming

  • Definitions of object-oriented concepts: object, encapsulation, class, inheritance, polymorphism.
  • Object-oriented domains handled with the C language.
  • From C to C++.
  • From C to Java.
Hands-on work
Object-oriented design using the C language.

6
Advanced aspects of the C11 standard

  • Multi-threading.
  • Anonymous structures and unions.
  • Generic functions.
  • Unicode encoding management.
  • Rewrite certain functions, check data sizes.
Hands-on work
Use of concepts added by the C11 standard.


Customer reviews
4,4 / 5
Customer reviews are based on end-of-course evaluations. The score is calculated from all evaluations within the past year. Only reviews with a textual comment are displayed.
SAID A.
08/10/25
5 / 5

CLEAR



Publication date : 08/12/2024


Dates and locations

Last places available
Guaranteed date, in person or remotely
Guaranteed session
From 10 to 12 June 2026
FR
Remote class
Registration
From 7 to 9 September 2026
FR
Remote class
Registration

REMOTE CLASS
2026 : 10 June, 7 Sep.