Understanding and using C pointers - Reese, Richard M., 1953- (O'Reilly Media, 2013)
"Improve your programming through a solid understanding of C pointers and memory management. With this practical book, you'll learn how pointers provide the mechanism to dynamically manipulate memory, enhance support for data structures, and enable access to hardware. Author Richard Reese shows you how to use pointers with arrays, strings, structures, and functions, using memory models throughout the book. Difficult to master, pointers provide C with much flexibility and power--yet few resources are dedicated to this data type. This comprehensive book has the information you need, whether you're a beginner or an experienced C or C++ programmer or developer. Get an introduction to pointers, including the declaration of different pointer types; learn about dynamic memory allocation, de-allocation, and alternative memory management techniques; use techniques for passing or returning data to and from functions; understand the fundamental aspects of arrays as they relate to pointers; explore the basics of strings and how pointers are used to support them; examine why pointers can be the source of security problems, such as buffer overflow; and learn several pointer techniques, such as the use of opaque pointers, bounded pointers, and the restrict keyword."--Back cover