Pointers in C: A Hands on Approach

  • 1h 59m
  • Hrishikesh Dewan, Naveen Toppo
  • Apress
  • 2013

Pointers in C provides a resource for professionals and advanced students needing in-depth but hands-on coverage of pointer basics and advanced features. The goal is to help programmers in wielding the full potential of pointers.

In spite of its vast usage, understanding and proper usage of pointers remains a significant problem. This book’s aim is to first introduce the basic building blocks such as elaborate details about memory, the compilation process (parsing/preprocessing/assembler/object code generation), the runtime memory organization of an executable and virtual memory. These basic building blocks will help both beginners and advanced readers to grasp the notion of pointers very easily and clearly. The book is enriched with several illustrations, pictorial examples, and code from different contexts (Device driver code snippets, algorithm, and data structures code where pointers are used).

Pointers in C contains several quick tips which will be useful for programmers for not just learning the pointer concept but also while using other features of the C language. Chapters in the book are intuitive, and there is a strict logical flow among them and each chapter forms a basis for the next chapter. This book contains every small aspect of pointer features in the C language in their entirety.

What you’ll learn

  • The concept of pointers and their use with different data types
  • Basic and advanced features of pointers
  • Concepts of compilers, virtual memory, data structures, algorithms and string processing
  • Concepts of memory and runtime organization
  • Referencing and dereferencing of pointer variables
  • NULL pointers, Dangling pointers, VOID pointers and CONST qualifiers
  • Workings of dynamic data structures
  • Pointers to pointers
  • Triple, and quadrupal pointers
  • Self referential structures, structure padding, and cache based optimization techniques.

Who this book is for

Professional programmers, advanced students of computer science, and enthusiasts of the C language. Embedded systems programmers will also find the advanced knowledge of pointers offered in this book very helpful.

About the Authors

Naveen Toppo is currently working as a consultant at the CT DC TEC Division of Siemens Technology and Services Pvt. Ltd India. With a total of over 7 years of experience, his current focus area is in optimum utilization of hardware features (performance engineering).

He is also involved in the research of distributed algorithms used for spatial databases. Prior to joining Siemens, he was technical lead for embedded systems at Wipro Technologies, where he was working on a project on SoC network processors, dealing with L3 layer's routing algorithms.

In his prior roles, he was associated with projects on Intel tablets based on Android platform, development of T9 dictionary support, and parsing and lexical analysis. He has a master's degree in technology in computer sciences from the Indian Institute of Technology Guwahati.

Hrishikesh Dewan has worked as lead engineer for Siemens Technology and Services(STS), INDIA since June, 2008. He is also a PhD scholar at the Department of Computer Science and Automation, IISC, Bangalore pursuing research in the areas of large scale distributed storage systems. In STS, he leads the distributed systems laboratory. Prior to joining STS, he founded a very small open source software development organization named "Srishti" that promoted open source tools and software for schools and colleges. He also worked as a project manager for 2 years at Eth Ltd., a subsidiary and R&D unit of Dishnet Wireless Ltd (Aircel). He is the author of two other books on WCF-SOAP and Visual Studio technologies.

In this Book

  • Memory, Runtime Memory Organization, and Virtual Memory
  • Pointer Basics
  • Pointer Arithmetic and Single Dimension Arrays
  • Pointers and Strings
  • Pointers and Multidimensional Arrays
  • Pointers to Structures
  • Function Pointers
  • Pointers to File I/O