Pointers in C Programming: A Modern Approach to Memory Management, Recursive Data Structures, Strings, and Arrays

  • 7h 46m
  • Thomas Mailund
  • Apress
  • 2021

Gain a better understanding of pointers, from the basics of how pointers function at the machine level, to using them for a variety of common and advanced scenarios. This short contemporary guide book on pointers in C programming provides a resource for professionals and advanced students needing in-depth hands-on coverage of pointer basics and advanced features. It includes the latest versions of the C language, C20, C17, and C14.

You’ll see how pointers are used to provide vital C features, such as strings, arrays, higher-order functions and polymorphic data structures. Along the way, you’ll cover how pointers can optimize a program to run faster or use less memory than it would otherwise.

There are plenty of code examples in the book to emulate and adapt to meet your specific needs.

What You Will Learn

  • Work effectively with pointers in your C programming
  • Learn how to effectively manage dynamic memory
  • Program with strings and arrays
  • Create recursive data structures
  • Implement function pointers

Who This Book Is For

Intermediate to advanced level professional programmers, software developers, and advanced students or researchers. Prior experience with C programming is expected.

About the Author

Thomas Mailund is an associate professor in bioinformatics at Aarhus University, Denmark. He has a background in math and computer science, including experience programming and teaching in the C and R programming languages. For the last decade, his main focus has been on genetics and evolutionary studies, particularly comparative genomics, speciation, and gene flow between emerging species.

In this Book

  • Introduction
  • Memory, Objects, and Addresses
  • Pointers
  • Pointers and Types
  • Arrays
  • Working with Arrays
  • Strings
  • Substrings Through Ranges
  • Dynamic Memory Management
  • Generic Dynamic Arrays
  • Linked Lists
  • Search Trees
  • Function Pointers
  • Generic Lists and Trees
  • Reference Counting Garbage Collection
  • Allocation Pools
  • Conclusions