Understanding and Using C Pointers

ISBN-10: 1449344186
ISBN-13: 9781449344184
Edition: 2013
Buy it from $36.90
eBook available
This item qualifies for FREE shipping

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

30 day, 100% satisfaction guarantee

If an item you ordered from TextbookRush does not meet your expectations due to an error on our part, simply fill out a return request and then return it by mail within 30 days of ordering it for a full refund of item cost.

Learn more about our returns policy

Description: Pointers are more involved than most programmers think and are frequently poorly understood.Comprehending and Using C Pointerswill provide beginning and advanced C programmers with a comprehensive coverage of C pointers and illustrate good pointer  More...

New Starting from $38.84
eBooks Starting from $33.99
Rent
Buy
what's this?
Rush Rewards U
Members Receive:
coins
coins
You have reached 400 XP and carrot coins. That is the daily max!

Study Briefs

Limited time offer: Get the first one free! (?)

All the information you need in one place! Each Study Brief is a summary of one specific subject; facts, figures, and explanations to help you learn faster.

Add to cart
Study Briefs
Periodic Table Online content $4.95 $1.99
Add to cart
Study Briefs
SQL Online content $4.95 $1.99
Add to cart
Study Briefs
MS Excel® 2010 Online content $4.95 $1.99
Add to cart
Study Briefs
MS Word® 2010 Online content $4.95 $1.99

Customers also bought

Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

Book details

Copyright year: 2013
Publisher: O'Reilly Media, Incorporated
Publication date: 5/14/2013
Binding: Paperback
Pages: 225
Size: 7.00" wide x 9.25" long x 0.50" tall
Weight: 0.484
Language: English

Pointers are more involved than most programmers think and are frequently poorly understood.Comprehending and Using C Pointerswill provide beginning and advanced C programmers with a comprehensive coverage of C pointers and illustrate good pointer programming habits, demonstrate the variety of ways they can be used.Comprehending and Using C Pointerswill address an area that has been neglected and provide the deep understanding of pointers necessary to create a properly functioning application.Although C is extensively use in industry applications, many aspects of pointers are not covered adequately in a typical C book. This book will use graphical models and comprehensive examples to illustrate key concepts and fundamentals of pointers, address compiler specific pointer techniques, and convey the dynamics of pointers and programming in general.

Preface
Introduction
Pointers and Memory
Why You Should Become Proficient with Pointers
Declaring Pointers
How to Read a Declaration
Address of Operator
Displaying Pointer Values
Dereferencing a Pointer Using the Indirection Operator
Pointers to Functions
The Concept of Null
Pointer Size and Types
Memory Models
Predefined Pointer-Related Types
Pointer Operators
Pointer Arithmetic
Comparing Pointers
Common Uses of Pointers
Multiple Levels of Indirection
Constants and Pointers
Summary
Dynamic Memory Management in C
Dynamic Memory Allocation
Memory Leaks
Dynamic Memory Allocation Functions
Using the malloc Function
Using the calloc Function
Using the realloc Function
The alloca Function and Variable Length Arrays
Deallocating Memory Using the free Function
Assigning NULL to a Freed Pointer
Double Free
The Heap and System Memory
Freeing Memory upon Program Termination
Dangling Pointers
Dangling Pointer Examples
Dealing with Dangling Pointers
Debug Version Support for Detecting Memory Leaks
Dynamic Memory Allocation Technologies
Garbage Collection in C
Resource Acquisition Is Initialization
Using Exception Handlers
Summary
Pointers and Functions
Program Stack and Heap
Program Stack
Organization of a Stack Frame
Passing and Returning by Pointer
Passing Data Using a Pointer
Passing Data by Value
Passing a Pointer to a Constant
Returning a Pointer
Pointers to Local Data
Passing Null Pointers
Passing a Pointer to a Pointer
Function Pointers
Declaring Function Pointers
Using a Function Pointer
Passing Function Pointers
Returning Function Pointers
Using an Array of Function Pointers
Comparing Function Pointers
Casting Function Pointers
Summary
Pointers and Arrays
Quick Review of Arrays
One-Dimensional Arrays
Two-Dimensional Arrays
Multidimensional Arrays
Pointer Notation and Arrays
Differences Between Arrays and Pointers
Using malloc to Create a One-Dimensional Array
Using the realloc Function to Resize an Array
Passing a One-Dimensional Array
Using Array Notation
Using Pointer Notation
Using a One-Dimensional Array of Pointers
Pointers and Multidimensional Arrays
Passing a Multidimensional Array
Dynamically Allocating a Two-Dimensional Array
Allocating Potentially Noncontiguous Memory
Allocating Contiguous Memory
Jagged Arrays and Pointers
Summary
Pointers and Strings
String Fundamentals
String Declaration
The String Literal Pool
String Initialization
Standard String Operations
Comparing Strings
Copying Strings
Concatenating Strings
Passing Strings
Passing a Simple String
Passing a Pointer to a Constant char
Passing a String to Be Initialized
Passing Arguments to an Application
Returning Strings
Returning the Address of a Literal
Returning the Address of Dynamically Allocated Memory
Function Pointers and Strings
Summary
Pointers and Structures
Introduction
How Memory Is Allocated for a Structure
Structure Deallocation Issues
Avoiding malloc/free Overhead
Using Pointers to Support Data Structures
Single-Linked List
Using Pointers to Support a Queue
Using Pointers to Support a Stack
Using Pointers to Support a Tree
Summary
Security Issues and the Improper Use of Pointers
Pointer Declaration and Initialization
Improper Pointer Declaration
Failure to Initialize a Pointer Before It Is Used
Dealing with Uninitialized Pointers
Pointer Usage Issues
Test for NULL
Misuse of the Dereference Operator
Dangling Pointers
Accessing Memory Outside the Bounds of an Array
Calculating the Array Size Incorrectly
Misusing the sizeof Operator
Always Match Pointer Types
Bounded Pointers
String Security Issues
Pointer Arithmetic and Structures
Function Pointer Issues
Memory Deallocation Issues
Double Free
Clearing Sensitive Data
Using Static Analysis Tools
Summary
Odds and Ends
Casting Pointers
Accessing a Special Purpose Address
Accessing a Port
Accessing Memory using DMA
Determining the Endianness of a Machine
Aliasing, Strict Aliasing, and the restrict Keyword
Using a Union to Represent a Value in Multiple Ways
Strict Aliasing
Using the restrict Keyword
Threads and Pointers
Sharing Pointers Between Threads
Using Function Pointers to Support Callbacks
Object-Oriented Techniques
Creating and Using an Opaque Pointer
Polymorphism in C
Summary
Index

×
Free shipping on orders over $35*

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

Learn more about the TextbookRush Marketplace.

×