Free eBook: Extreme C

Extreme C
Push the limits of what C - and you - can do, with this high-intensity guide to the most advanced capabilities of C

Kamran Amini, 822 pages, Oct 2019

Key Features

  • Make the most of C’s low-level control, flexibility, and high performance
  • A comprehensive guide to C’s most powerful and challenging features
  • A thought-provoking guide packed with hands-on exercises and examples


Extreme C teaches you to use C’s power. You will master preprocessor directives, macros, conditional compilation, pointers, and much more, and gain new insight into algorithm design, functions, and structures. Amini’s book captures his experience as a programmer and scientist, encouraging you to think, question, apply, and experiment for yourself.

Register now to access this free eBook

Your password must have at least 8 characters, one uppercase, one lowercase and one number.

By signing up, you are confirming you would like to receive occasional emails about special offers and recommendations.


Chapter 1


Essential Features

This chapter is about the essential features found in C that have a profound effect on the way we use C. We will be using these features often throughout the book. The main topics are preprocessing and directives to define macros, variable and function pointers, function call mechanisms, and stru...

Chapter 2


From Source to Binary

As part of this chapter, we discuss how to build a C project. The compilation pipeline is studied in great detail, both in terms of the pipeline as a whole and in terms of the individual pipeline components.

Chapter 3


Object Files

This chapter looks at the products of a C project after having built it using the compilation pipeline. We introduce object files and their various types. We also take a look inside these object files and see what information can be extracted.

Chapter 4


Process Memory Structure

In this chapter, we explore a process's memory layout. We see what segments can be found in this memory layout and what static and dynamic memory layouts mean.

Chapter 5


Stack and Heap

As part of this chapter, we discuss the Stack and Heap segments specifically. We talk about the Stack and Heap variables and how their lifetime is managed in C. We discuss some best practice regarding Heap variables and the way that they should be managed.

Chapter 6


OOP and Encapsulation

This is the first chapter in a group of four chapters discussing object orientation in C. As part of this chapter, we go through the theory behind object orientation and we give important definitions to the terms often used in the literature.

Related Titles

Learn and Master C Programming For Absolute Beginners! [Video]


Practical C Programming

A comprehensive guide with practical instructions for learning data structures, low-level programming, high-performance computing, networking and I...

From 0 to 1: C Programming - Drill Deep [Video]

C Programming is still a very useful skill to have - and this is the course to pick it up!

Discover the new Packt free eBook range