Advanced C Programming Training in Canada

  • 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 Canada facilities. Private class trainings will be organized at the location of your preference, according to your schedule.

Classroom / Virtual Classroom
25 November 2024
Toronto, Montreal, Calgary
4 Days
Classroom / Virtual Classroom
25 November 2024
Toronto, Montreal, Calgary
4 Days
Classroom / Virtual Classroom
07 February 2025
Toronto, Montreal, Calgary
4 Days
Classroom / Virtual Classroom
10 February 2025
Toronto, Montreal, Calgary
4 Days
Classroom / Virtual Classroom
10 February 2025
Toronto, Montreal, Calgary
4 Days
Classroom / Virtual Classroom
07 February 2025
Toronto, Montreal, Calgary
4 Days
Classroom / Virtual Classroom
10 February 2025
Toronto, Montreal, Calgary
4 Days
Classroom / Virtual Classroom
10 February 2025
Toronto, Montreal, Calgary
4 Days
Advanced C Programming Training Course in Canada

Canada is a North American country. Known as the second-largest country of the world, Canada’s capital city is Ottawa. Toronto, Vancouver and Montreal are the biggest and most popular cities of this country. The 8,891-kilometer southern and western border between Canada and the United States is the world's longest intergovernmental land border. This country also has the longest coastline in the world.

Canada is a constitutional monarchy. The country was originally a British Empire colony and is now a part of the British Commonwealth. Both French and English are Canada’s official languages. Canada’s national animal is a beaver and the its flag design is a vertical triband of red and white with a red maple leaf charged in the centre. Some of the top-rated tourist attractions in Canada are Niagara Falls, Banff National Park and Rocky Mountains, CN Tower in Toronto City, Bay of Fundy, Old Quebec (Vieux-Quebec in French), the ski resort of Whistler, Ottawa's Parliament Hill and Vancouver Island.

Choose from our extensive selection of IT courses, covering programming, data analytics, software development, business skills, cloud computing, cybersecurity, project management. Our highly skilled instructors will deliver hands-on training and valuable insights at a location of your choice within Canada.
By using this website you agree to let us use cookies. For further information about our use of cookies, check out our Cookie Policy.