C++ and C

Advanced C Programming

מספר הקורס 6865

32 סה"כ שעות אקדמאיות
4 מפגשים
* מספר המפגשים והשעות למפגש עשויים להשתנות בין קורס לקורס

המועדים הקרובים

קורס לקבוצות

הקורס נפתח במתכונת של קבוצה בלבד, בהתאמה אישית לארגונים.
לפרטים נוספים:

ספרו לי עוד


The 'Advanced C Programming' course 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


On Completion, Delegates 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


Who Should Attend

This course is designed for the practiced 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


תכנית הלימודים

Full Syllabus
PDF להורדה

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


  • 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.

Schedule Appointment

Fill out the form below, and we will be in touch shortly.

לא הצלחנו לאתר את הטופס.