Advanced C Programming Training in South Africa

  • Learn via: Classroom / Virtual Classroom / Online
  • Duration: 4 Days
  • Level: Expert
  • Price: From €5,707+VAT
We can host this training at your preferred location. Contact us!

This course is designed for the practising software developer and allows delegates to gain a better understanding of the language, run-time library, and software engineering techniques available with the C language.

'Advanced C' increases delegate's knowledge and understanding of the language, including the recent ISO 9899:1999 (C99) standard changes, and helps delegates to gain experience in areas of C that previous work may not have covered. Delegates will also be better equipped to write and maintain large C programs, and will also gain a better understanding of the way the language works and is implemented.

  • Between three and six months of concentrated C programming experience Experience of structured data types
  • Experience of the declaration and use of pointers
  • The course will also benefit self-taught C programmers wishing to gain a formal education in the language.

Please note: Before attending this class delegates must have a Microsoft account (signing up one is free). The instructions on how to set up a Microsoft account can be found here.

At the end of this course you will be able to:

  • Read and write complex data declarations and type definitions
  • Use advanced pointer techniques to construct and work with complex data structures Use advanced standard library functions, including process control, searching and sorting Handle memory allocation
  • Exploit features of C99

Chapter 1: C Standards

  • Review of C standards
  • K&R1 and STDC functions
  • C99 inline functions
  • Enumeration
  • const, volatile, Boolean, and floating point types
  • Limits

Chapter 2: The Preprocessor

  • Predefined macros
  • Conditional compilation
  • Advanced directives (including assert)
  • Trigraphs and C99 digraphs
  • C99 Variadic macros

Chapter 3: Declarations

  • Reading and writing declarations
  • Using typedefs effectively
  • Using casts

Chapter 4: Advanced Pointers

  • Levels of indirection
  • Void pointers
  • Defining and using function pointers
  • C99 restricted pointers

Chapter 5: Advanced Arrays

  • Arrays and functions
  • Pointers and arrays
  • C99 Variable Length Arrays
  • memset

Chapter 6: Arrays of Arrays

  • Declarations
  • Initialisation
  • Arrays of arrays as function arguments

Chapter 7: Advanced Structures

  • Declaring and defining structures
  • C99 changes
  • Bitfields
  • Packing and padding
  • Reading and writing structs to files

Chapter 8: Dynamic Memory Management

  • Allocating arrays
  • Allocating structures
  • Error detection and debugging techniques
  • Writing your own error detection library

Chapter 9: Standard Library - Process Control

  • Running another process
  • Process termination
  • Exception handling (setjmp/longjmp)
  • Environment variables

Chapter 10: Standard Library - Useful Functions

  • Calling conventions
  • Writing variadic functions
  • Date and time functions
  • Random numbers

Chapter 11: Sorting and Searching

  • qsort
  • Comparison functions
  • Indirect sorting (pointers)
  • bsearch

Chapter 12: Linked Lists

  • Linked list principles
  • Using recursive functions
  • Implementing a circular list
  • Implementing a self-adjusting list

Chapter 13: Binary Trees

  • Binary tree principles
  • Using trees for sorted data
  • Insertion
  • Deletion


Contact us for more detail about our trainings and for all other enquiries!

Upcoming Trainings

Join our public courses in our South Africa facilities. Private class trainings will be organized at the location of your preference, according to your schedule.

Classroom / Virtual Classroom
25 November 2024
Cape Town, Durban, Johannesburg
4 Days
Classroom / Virtual Classroom
25 November 2024
Cape Town, Durban, Johannesburg
4 Days
Classroom / Virtual Classroom
07 February 2025
Cape Town, Durban, Johannesburg
4 Days
Classroom / Virtual Classroom
10 February 2025
Cape Town, Durban, Johannesburg
4 Days
Classroom / Virtual Classroom
10 February 2025
Cape Town, Durban, Johannesburg
4 Days
Classroom / Virtual Classroom
07 February 2025
Cape Town, Durban, Johannesburg
4 Days
Classroom / Virtual Classroom
10 February 2025
Cape Town, Durban, Johannesburg
4 Days
Classroom / Virtual Classroom
10 February 2025
Cape Town, Durban, Johannesburg
4 Days
Advanced C Programming Training Course in South Africa

Formerly known as Union of South Africa, now officially known as Republic of South Africa is the Southernmost country in Africa. South Africa's population is over 60 million people, which makes the country the world's 23rd-most populous nation. South Africa has three capital cities: executive Pretoria, judicial Bloemfontein and legislative Cape Town, while the largest city is Johannesburg. The official languages of South Africa are Afrikaans, English, Ndebele, Pedi, Sotho, Swati, Tsonga, Tswana, Venda, Xhosa and Zulu.

South Africa can be rainy from November to February, so the best time to visit South Africa is from May to September. Despite the rainy season South Africa is a year-round destination, with varying regional climates. Blyde River Canyon, Durban, Drakensberg, Kruger National Park and of course, Cape Town are the tourist attractions of the country.

Expand your IT knowledge with our comprehensive range of courses, including programming, software development, business skills, data science, cybersecurity, cloud computing and virtualization. Our skilled instructors will facilitate hands-on training and share practical insights, all conveniently conducted at your preferred location within South Africa.
By using this website you agree to let us use cookies. For further information about our use of cookies, check out our Cookie Policy.