Mentor Communications

Our Courses

Our Clients

Contact Us

Home

Advanced C Workshop

Quick Review

Data types and storage classes
Functions
Arrays
Structures
Detailed example

Compiler and Environment

Compiler
Linker
Make utility
Preprocessor directives

Understanding Memory

Text and data
Data segment

  • NULL
  • Data
  • Constant
  • BSS
  • Stack
  • Heap

Variables and memory
Function calls
Inline code and macros
Using memory efficiently

File I/O

fopen( )
fread( )
fwrite( )
fseek( )
Sequential and random access

Advanced Pointers

Pointer review
Pointers and arrays
Void and NULL pointers
Arrays of pointers
Pointers to pointers
Pointers to functions
Dynamic memory allocation

Advanced C Features

typedef
enum
union
Bit manipulation
Command line arguments

Data Structures

qsort( ) and bsearch( )
Linked lists
Queues
Stacks
Binary trees

Debugging Techniques

assert()
Conditional compilation
Handling NULL pointers
Weird C bugs and how to handle them

Improving C Code

Removing constant expressions
Using register variables
Eliminating function calls