Opleiding: Advanced C Programming

In the course Advanced C Programming the more advanced aspects of C programming like the use of modules and interfaces and object oriented programming in C using encapsulation are discussed.

Potential Dangers in C

Potential dangers of certain constructs in C are highlighted such as C macros, evaluation order and the use of globals.

Pointer Techniques

Attention is paid to pointer techniques and the use of pointers to functions is discussed.

Dynamic Data Structures

The most common dynamic data structures such as arrays, linked lists, hash tables and trees and their implementation in C are addressed in detail.

Optimization Techniques

Also attention is paid to optimization techniques regarding speed and memory.

Advanced C Library Function

More advanced functions of the C library such as setjmp, longjmp, signals, bsearch, and qsort etc. are also on the course program.

Bit Manipulation

Finally bit manipulation and advanced string handling and parsing are discussed.

Audience Course Advanced C Programming

The course Advanced C Programming is intended for C developers who want to understand and use the more advanced features and techniques of the C language.

Prerequisites Course Advanced C Programming

To join this course knowledge of the basic concepts of programming in C and experience in C is required.

Realization Training Advanced C Programming

The concepts are treated on the basis of presentation slides. Illustrative demo programs are used to clarify the treated concepts. There is ample opportunity to practice and theory and practice is interspersed.

Official Certificate Advanced C Programming

Participants receive an official certificate Advanced C Programming after successful completion of the course.

Modules

Module 1 : C Pitfalls

  • C Standards
  • Pitfalls C Language
  • Write Clean Code
  • Good Programming Style
  • Rules for Functions
  • Deep versus Flat Code
  • Evaluation Order
  • Avoid Macros
  • Without const
  • Using const
  • Code Reuse
  • Avoid Globals
  • Pre and Post Conditions
  • Invariants
  • Code Smells

Module 2 : Object Orientation in C

  • Object Orientation
  • Classes and Objects
  • Example Class and Objects
  • Object Orientation in C
  • Simple Objects in C
  • C versus C++
  • Class Constructor in C
  • Member Functions in C
  • Encapsulation in C
  • Public Function Members in C
  • Inheritance
  • Extending C++ Classes
  • Virtual Functions
  • Virtual Function Table
  • Polymorphism

Module 3 : Pointers and Arrays

  • Pointers Revisited
  • Pointer Arithmetic
  • Pointers and Arrays
  • Function Pointers
  • Optional Ampersand
  • Variable Length Arguments
  • Varargs Example
  • Array Initialization
  • Array Traversal
  • Arrays of Structs
  • Arrays versus Pointers
  • Multidimensional Arrays
  • Indices in 3d Array
  • Dynamic Arrays
  • Ragged Arrays

Module 4 : Data Structures in C

  • Dynamic Data Structures
  • Singly Linked Lists
  • Linked List Element Type
  • Creating List Elements
  • Doubly Linked Lists
  • Stacks and Queues
  • Hash Tables
  • Load Factor
  • Hash Functions
  • Trees
  • Trees Traversal

Module 5 : Bit Manipulation

  • Bit Manipulation
  • Bitwise Operators
  • Bitwise AND
  • Bitwise OR
  • Bitwise XOR
  • Bitwise NOT
  • Bitshift Operators
  • Bit Shifting
  • Bitwise Assignment Operators
  • Bit Rotation
  • BitFlag Functions

Module 6 : C Standard Library

  • What are Signals?
  • ANSI C-Signal Types
  • Handling Signals
  • SIGABRT, SEGV, SEGFPE
  • setjmp and longjmp
  • Coroutines
  • atexit Function
  • assert Function
  • perror Function
  • Raising Signals
  • Alarm Signal

Module 7 : String Handling

  • Looking for Characters
  • Looking for Substrings
  • Count Matching Characters
  • Looking for Character Sets
  • String Comparison
  • String Tokenizing
  • Converting Strings to Numbers
  • Handling Conversion Errors
  • qsort and Bsearch
  • Advanced String Handling
Meer...
€1.999
ex. BTW
Aangeboden door
SpiralTrain
Onderwerp
C/C++
Niveau
Duur
3 dagen
Looptijd
18 dagen
Taal
en
Type product
cursus
Lesvorm
Klassikaal
Aantal deelnemers
Max: 12
Tijdstip
Overdag
Tijden en locaties
Amsterdam
ma 12 jan. 2026
Eindhoven
ma 12 jan. 2026
Houten
ma 12 jan. 2026
Online
ma 12 jan. 2026
Rotterdam
ma 12 jan. 2026
Zwolle
ma 12 jan. 2026
Amsterdam
ma 9 mrt. 2026
Eindhoven
ma 9 mrt. 2026
Houten
ma 9 mrt. 2026
Online
ma 9 mrt. 2026
Rotterdam
ma 9 mrt. 2026
Zwolle
ma 9 mrt. 2026
Amsterdam
ma 11 mei 2026
Eindhoven
ma 11 mei 2026
Houten
ma 11 mei 2026
Online
ma 11 mei 2026
Rotterdam
ma 11 mei 2026
Zwolle
ma 11 mei 2026
Amsterdam
ma 6 jul. 2026
Eindhoven
ma 6 jul. 2026
Houten
ma 6 jul. 2026
Online
ma 6 jul. 2026
Rotterdam
ma 6 jul. 2026
Zwolle
ma 6 jul. 2026
Amsterdam
ma 7 sep. 2026
Eindhoven
ma 7 sep. 2026
Houten
ma 7 sep. 2026
Online
ma 7 sep. 2026
Rotterdam
ma 7 sep. 2026
Zwolle
ma 7 sep. 2026
Amsterdam
ma 9 nov. 2026
Eindhoven
ma 9 nov. 2026
Houten
ma 9 nov. 2026
Online
ma 9 nov. 2026
Rotterdam
ma 9 nov. 2026
Zwolle
ma 9 nov. 2026
Amsterdam
ma 11 jan. 2027
Eindhoven
ma 11 jan. 2027
Houten
ma 11 jan. 2027
Online
ma 11 jan. 2027
Rotterdam
ma 11 jan. 2027
Zwolle
ma 11 jan. 2027
Amsterdam
ma 8 mrt. 2027
Eindhoven
ma 8 mrt. 2027
Houten
ma 8 mrt. 2027
Online
ma 8 mrt. 2027
Rotterdam
ma 8 mrt. 2027
Zwolle
ma 8 mrt. 2027
Amsterdam
wo 12 mei 2027
Eindhoven
wo 12 mei 2027
Houten
wo 12 mei 2027
Online
wo 12 mei 2027
Rotterdam
wo 12 mei 2027
Zwolle
wo 12 mei 2027
Amsterdam
wo 14 jul. 2027
Eindhoven
wo 14 jul. 2027
Houten
wo 14 jul. 2027
Online
wo 14 jul. 2027
Rotterdam
wo 14 jul. 2027
Zwolle
wo 14 jul. 2027
Amsterdam
wo 15 sep. 2027
Eindhoven
wo 15 sep. 2027
Houten
wo 15 sep. 2027
Online
wo 15 sep. 2027
Rotterdam
wo 15 sep. 2027
Zwolle
wo 15 sep. 2027
Amsterdam
wo 17 nov. 2027
Eindhoven
wo 17 nov. 2027
Houten
wo 17 nov. 2027
Online
wo 17 nov. 2027
Rotterdam
wo 17 nov. 2027
Zwolle
wo 17 nov. 2027
Amsterdam
wo 12 jan. 2028
Eindhoven
wo 12 jan. 2028
Houten
wo 12 jan. 2028
Online
wo 12 jan. 2028
Rotterdam
wo 12 jan. 2028
Zwolle
wo 12 jan. 2028
Amsterdam
wo 15 mrt. 2028
Eindhoven
wo 15 mrt. 2028
Houten
wo 15 mrt. 2028
Online
wo 15 mrt. 2028
Rotterdam
wo 15 mrt. 2028
Zwolle
wo 15 mrt. 2028
Amsterdam
wo 17 mei 2028
Eindhoven
wo 17 mei 2028
Houten
wo 17 mei 2028
Online
wo 17 mei 2028
Rotterdam
wo 17 mei 2028
Zwolle
wo 17 mei 2028
Amsterdam
wo 12 jul. 2028
Eindhoven
wo 12 jul. 2028
Houten
wo 12 jul. 2028
Online
wo 12 jul. 2028
Rotterdam
wo 12 jul. 2028
Zwolle
wo 12 jul. 2028
Amsterdam
wo 13 sep. 2028
Eindhoven
wo 13 sep. 2028
Houten
wo 13 sep. 2028
Online
wo 13 sep. 2028
Rotterdam
wo 13 sep. 2028
Zwolle
wo 13 sep. 2028
Amsterdam
wo 15 nov. 2028
Eindhoven
wo 15 nov. 2028
Houten
wo 15 nov. 2028
Online
wo 15 nov. 2028
Rotterdam
wo 15 nov. 2028
Zwolle
wo 15 nov. 2028
Amsterdam
wo 17 jan. 2029
Eindhoven
wo 17 jan. 2029
Houten
wo 17 jan. 2029
Online
wo 17 jan. 2029
Rotterdam
wo 17 jan. 2029
Zwolle
wo 17 jan. 2029
Amsterdam
wo 14 mrt. 2029
Eindhoven
wo 14 mrt. 2029
Houten
wo 14 mrt. 2029
Online
wo 14 mrt. 2029
Rotterdam
wo 14 mrt. 2029
Zwolle
wo 14 mrt. 2029
Amsterdam
wo 16 mei 2029
Eindhoven
wo 16 mei 2029
Houten
wo 16 mei 2029
Online
wo 16 mei 2029
Rotterdam
wo 16 mei 2029
Zwolle
wo 16 mei 2029
Amsterdam
wo 18 jul. 2029
Eindhoven
wo 18 jul. 2029
Houten
wo 18 jul. 2029
Online
wo 18 jul. 2029
Rotterdam
wo 18 jul. 2029
Zwolle
wo 18 jul. 2029
Amsterdam
wo 12 sep. 2029
Eindhoven
wo 12 sep. 2029
Houten
wo 12 sep. 2029
Online
wo 12 sep. 2029
Rotterdam
wo 12 sep. 2029
Zwolle
wo 12 sep. 2029
Amsterdam
wo 14 nov. 2029
Eindhoven
wo 14 nov. 2029
Houten
wo 14 nov. 2029
Online
wo 14 nov. 2029
Rotterdam
wo 14 nov. 2029
Zwolle
wo 14 nov. 2029
Amsterdam
wo 16 jan. 2030
Eindhoven
wo 16 jan. 2030
Houten
wo 16 jan. 2030
Online
wo 16 jan. 2030
Rotterdam
wo 16 jan. 2030
Zwolle
wo 16 jan. 2030
Amsterdam
wo 13 mrt. 2030
Eindhoven
wo 13 mrt. 2030
Houten
wo 13 mrt. 2030
Online
wo 13 mrt. 2030
Rotterdam
wo 13 mrt. 2030
Zwolle
wo 13 mrt. 2030
Keurmerken aanbieder
NRTO
UWV scholingsvoucher