Customer Reviews


19 Reviews
5 star:
 (15)
4 star:
 (3)
3 star:
 (1)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
Share your thoughts with other customers
Create your own review
 
 

The most helpful favorable review
The most helpful critical review


8 of 8 people found the following review helpful
5.0 out of 5 stars Great Pointer Resource
This book is ideal for the programmer who has only had a casual introduction to pointers. One example is that type size_t is explained and not just shown. Some of the tutorials I have seen use types like this in pointer discussions without giving the full explanation of what is going on. In my opinion, those looking to really understand programming are going to spend...
Published 14 months ago by IADev

versus
29 of 33 people found the following review helpful
3.0 out of 5 stars Useful but flawed
This book is a useful overview of what pointers are, how they work, and how they should be managed for security and effectiveness. It is great to have a recent book devoted entirely to pointers. Many books on C either scant the topic, or deal with woefully out of date C standards. Reese takes into account the current C11 standard, which alone makes it very welcome...
Published 12 months ago by Surajit A. Bose


‹ Previous | 1 2 | Next ›
Most Helpful First | Newest First

29 of 33 people found the following review helpful
3.0 out of 5 stars Useful but flawed, July 30, 2013
By 
Surajit A. Bose "Karmadgeon" (Palo Alto, CA United States) - See all my reviews
(REAL NAME)   
Verified Purchase(What's this?)
This review is from: Understanding and Using C Pointers (Paperback)
This book is a useful overview of what pointers are, how they work, and how they should be managed for security and effectiveness. It is great to have a recent book devoted entirely to pointers. Many books on C either scant the topic, or deal with woefully out of date C standards. Reese takes into account the current C11 standard, which alone makes it very welcome.

The book, however, has several flaws. A lot of the material deals with nonstandard libraries. For example, the section on pointers and threads mentions C11 support for threads, but then discusses the POSIX standard rather than going into any details about the C standard. I found this and other references to extensions outside the C standard annoying; a book about C should focus on portable code.

Also, the book is not well organized. Throughout the book there are "forward references" saying that the topic being mentioned will be discussed elsewhere later. This leads to a lot of back-and-forth flipping of pages. For example, pointer arithmetic is explained in Chapter 1, but is used only in Chapter 4; a particular data structure is minimally introduced on page 133, then actually used sixty pages later. The way information is presented and explained could have been more systematic.

The biggest flaw is that some of the code is nonstandard and frankly, quite ugly. For instance:
(1) a function on page 89 uses pointers to memory that has already been deallocated, which is undefined behavior. The same function has redundant variables "length" and "currentPosition" -- one of the two would have been sufficient to accomplish the task.
(2) Elsewhere, Reese defines a linked list header structure with pointers to the head node, the tail node, and the current node. This structure is used at several later points in the book, but the reason for including a pointer to the current node is never made clear; none of the code in the book ever uses it, and indeed, it's difficult to see why it would be useful.
(3) While Reese explains the difference between the value 0 and the NUL character, in several places his code elides the difference, using the former where the latter would be more strictly appropriate (e.g., page 131 has `while (*string != 0)` when `while (*string != '\0')` or preferably `while (*string)` would be better style.
(4) Throughout, the book provides examples of infinite loops with break statements instead of using good structured style and having the break condition be the loop conditional.
(5) Surprisingly for a book that mentions the C99 and C11 standards often, there are a lot of references to using Microsoft Visual C++ as a compiler. Microsoft does not, and by all accounts never will, support C standards past C89. It is a C++ compiler, not a current C compiler. It mandates practices that are not C like in their philosophy, and Reese's code succumbs. For instance, he explicitly casts the return values from malloc and realloc to pointers of the appropriate type, which is not considered good C style. Good C code should be written in compliance to the C standard, not in conformance with the requirements imposed by a compiler geared to a different language.

The chronically problematic sample code is a serious shortcoming, and would be quite misleading for relatively new programmers. But then, the book is more a review of programming techniques using pointers than an introduction to them. It is geared more towards intermediate or experienced programmers than towards novices. For someone who has enough experience to be able to refactor the code properly, the book is a very useful review.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


8 of 8 people found the following review helpful
5.0 out of 5 stars Great Pointer Resource, May 17, 2013
This review is from: Understanding and Using C Pointers (Paperback)
This book is ideal for the programmer who has only had a casual introduction to pointers. One example is that type size_t is explained and not just shown. Some of the tutorials I have seen use types like this in pointer discussions without giving the full explanation of what is going on. In my opinion, those looking to really understand programming are going to spend some time looking at memory models-and this work was a gentle introduction that was approachable on topics that included dynamic memory allocations. While it wasn't in depth, I also appreciated seeing a mention of the RAII technique and an approach in C. Some new programmers should also find the discussion about function pointers as eye-opening. The section titled "Using Pointers to Support Data Structures" was also full of good introduction material to seeing how pointers could be used to implement common data structures. New users to pointers will also likely be glad to see this book addresses good things as well as bad things to look out for in using pointers as well as examples of the why.

Overall conclusion: Would be a great resource for those looking to dig further into C and trying to master pointers.

Disclaimer: I got a copy of this book for review as part of O'Reilly blogger program.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


9 of 11 people found the following review helpful
5.0 out of 5 stars Fantastic, Must Have for the C programmer, May 14, 2013
I received a review copy of the book as part of the blogger review program.

Summary:

As the title implies, in the book "Understanding and Using C Pointers", the author discusses pointers in C. It discusses various aspects of pointers and their application in dynamic memory allocation (and implementing linked lists, dynamic arrays, etc.), their usage in the form of function pointers, structure pointers and various other related concepts. The treatment of the topics have a nice flow. The author gently begins by introducing the concepts of a stack and a heap in the context of the runtime memory layout of a executing program and then proceeds to discuss memory allocation, before discussing the topics mentioned earlier. The book's contents describe an area of C which can be scary and confusing sometimes, but need not necessarily be so - which is what the book aims to demonstrate.

Reactions:

The book is absolutely fantastic and if you have anything to do with C or simply wanted to read an entire book on pointers, this is it. You will learn a number of new things, and suddenly a number of pointer mysteries will be demystified.

Verdict:

A must have for your collection if you would love to learn more about pointers in C or simply understand them better.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


2 of 2 people found the following review helpful
5.0 out of 5 stars Understanding & Using C Pointers, June 2, 2013
Pointers and memory management are probably the two most intimidating factors about C. Where was this book when I was in college?

Understanding and Using C Pointers is probably the best book i've read on pointers and memory management. The author does an excellent job explaining the subject matter and providing clear, concise examples along with the text.

Another reason I picked this book up is it's content to secure coding--which serves to purposes: one to ensure the code I write is secure, an two, to help me find code in my environment that isn't.

If you're still intimidated by pointers and managing memory, you need this book.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


1 of 1 people found the following review helpful
5.0 out of 5 stars Deep presentation of one of the most puzzling aspects of the language, December 23, 2013
Verified Purchase(What's this?)
Newcomers to C will generally get stuck on pointers, but without their proper use, it's not possible to be anything more than a beginner C programmer. Clear writing style, clear diagrams, clear code samples.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


1 of 1 people found the following review helpful
4.0 out of 5 stars Good Book on Pointers, November 4, 2013
This review is from: Understanding and Using C Pointers (Paperback)
There have been many books written about the C Programming language. But this one is different. Why? Because this book focuses on pointers to convey a deeper understanding on C. It covers important memory management technology involving the stack and the heap along with the use of pointers in this context. It helps you to understand pointers and shows you how they work and how they should be managed.

Reese assumes that the reader has a minimal understanding of C.
The audience are developers that are learning C or experienced C or C++ programmers. For C# or Java developers this book should help to better understand C and get an insight into how object-oriented languages deal with the stack and the heap.

IMHO the reader need a bit more than a minimal understanding of C. The book shows only code snippets (which will make it more difficult for novice programmers). So the reader need to know how to write a complete program in C and how to compile it.
Further the reader need some understanding of common data structures like linked lists. If you are a C# or Java developer and don't have any C background this book won't be of much use for you.

The Book uses a lot of references to later chapters (forward references), which makes it sometimes difficult to read.

What I really liked on this book is the representation of the memory (as small boxes) along with the source code. It visually shows the reader what is happening in memory.

This book really helped me to get a better understanding of Pointers and memory management.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


1 of 1 people found the following review helpful
5.0 out of 5 stars Must-read for every computer science student, August 25, 2013
Verified Purchase(What's this?)
This review is from: Understanding and Using C Pointers (Paperback)
This is the best coverage of C pointers and memory management I have seen. Every computer science student should master this material and would benefit from doing so during the first course on C/C++ and before the systems programming courses.

All too common with math and theoretical CS authors, many or most of whom are professional educators, is the attitude that brevity is beauty. Whether they are interested in instilling their ideas in the reader is not evident from their writing. Reese provides the right level of detail and a coherent exposition which develops a solid intuition without having to re-read his explanations.

The conceptual diagrams are helpful but a little ambiguous in referencing which rectangle is the function stack, which is main, and which is the heap. I hope the author improves the diagrams in his next edition. I do not deduct any stars because this book is much better than anything else, and it covers essential CS material.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars Suck at pointers? Suck at C? Take an acid trip and start to understand., June 4, 2014
By 
Roman (Saint-Petersburg, Russia) - See all my reviews
(REAL NAME)   
Verified Purchase(What's this?)
This book takes you on a deep acid trip into the wilderness of C pointers and C in general. You come back a changed man. After reading this book you finally understand that the Matrix is actually a metaphor for how governments and institutions enslave people by taxing and regulating the s*** out of them, feeding on their productive energy that could only be unleashed by the free enterprise system. You stop asking stupid questions like "but who's gonna build muh roads and educate muh kids and allocate muh memory?" No. It is now up to you. You control your life. You are a free man.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars Books is insightful and well thought out!, May 14, 2014
By 
J. Mendes (Santa Cruz, CA) - See all my reviews
Verified Purchase(What's this?)
This review is from: Understanding and Using C Pointers (Paperback)
I have nothing but praises to the author of this book. The author covers almost all cases and uses of C pointers and even provides awesome illustrations to backup his examples. This is definitely a good reference book to have next to you when a question arises while either reviewing or writing code for the novice.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4.0 out of 5 stars Simple but professional, April 29, 2014
Verified Purchase(What's this?)
Over the years I have read several material regarding C programming and the common pointer pitfalls that surrounds it, this is one of the best. A novice programmer should get this book to get a clear understanding about C pointers, stack and other language "features", rusty old timers should also benefit of this book as It gets right to the point with clear examples and simple but accurate explanations.
If you are really interested in C programming you should read this book and also the following book:
Expert C Programming: Deep C Secrets
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


‹ Previous | 1 2 | Next ›
Most Helpful First | Newest First

Details

Understanding and Using C Pointers
Understanding and Using C Pointers by Reese M. Richard (Paperback - May 18, 2013)
$39.99 $29.99
In Stock
Add to cart Add to wishlist
Search these reviews only
Rate and Discover Movies
Send us feedback How can we make Amazon Customer Reviews better for you? Let us know here.