Rating:  Summary: My 2nd C Book Review: After knowing the basics of C. It's my second C book. Gernerally, not suitable for "pure" novice without any programming experience, but if you want to know a little more about C or if you already have learned some other languages, you can try this book.Chapter 1~5: Introduce the essential concepts you have to know about C (data type, flow control, expression etc.) in great detail. I like chpater 3 most. It explains the concepts about scope, linkage, storage and the "static" keyword very clearly. (those are what confused me when I read my 1st C book) Chpater 6: A must read chpater, "pointers". Chapter 7~10: Covers functions, arrays, strings, structures etc. with pointer related issue. Those chapter will let you be more familiar with how to apply pointers on them. Chapter 11: Special topic on memory allocation. In normal C textbook you won't see a specific chapter dealing with this. Chpater 12, 13: Advanced pointer concepts with structures, functions including ponter to pointer, void pointer, pointer to function etc. Very important and useful contents. Chapter 14~18: I don't like this part. Even if those chapters cover the preprocessor, I/O, standard library, data structures, and runtime issue, the author doesn't give enough examples to illustrate them very well. For example in section 16.5, the author talks about the Signals (in standard library). However, he just gives the concepts and tells us how to use them but without A example!!! If you have delt with OS, you should know signals are very important and never easy to handle. Without a example, how could readers understand the usage and the ideas for them. This is a very good book for sure. It points out the common programming error, tips and the differences between K&R C and ANSI C. However, the only thing I am disappointed with this book is "a good start, but not a very good end". Those latter chapters really show the concepts we need to know but without sufficient examples to demonstrate them out. Even if the title of the book is "Pointers on C", it doesn't talk about the pointer all through this book. Instead, it just puts more emphasis on pointers and teaches you C.
Rating:  Summary: Best Book on C Programming - Bar None! Review: Better than Kernighan and Ritchie. Better than Harbison and Steele. Not for beginners to programming in general, but by far the best book for programmers looking to learn the C programming language. The emphasis on pointers is absolutely essential to serious C programming, and this is the only book I know of that is so oriented. You may study K&R or H&S, then go to look at some Linux kernel source and find yourself mystified. Not so with Reek's book. The former books teach pointers to be sure, but the level of detail and examples are insufficient for serious programming. The Reek book fills this void. An outstanding book and very readable as well. Buy it.
Rating:  Summary: Best Book on C Programming - Bar None! Review: Better than Kernighan and Ritchie. Better than Harbison and Steele. Not for beginners to programming in general, but by far the best book for programmers looking to learn the C programming language. The emphasis on pointers is absolutely essential to serious C programming, and this is the only book I know of that is so oriented. You may study K&R or H&S, then go to look at some Linux kernel source and find yourself mystified. Not so with Reek's book. The former books teach pointers to be sure, but the level of detail and examples are insufficient for serious programming. The Reek book fills this void. An outstanding book and very readable as well. Buy it.
Rating:  Summary: The best book on C in print Review: For those who need an up-to-date ANSI overview of the C programming language, this book would be an excellent introduction. Pointers are usually a stumbling block for those programming C initially, but the author does an excellent job of detailing the use of pointers in this book. The use of pointers dominates the entire book, and after studying it, readers will have a thorough, practical knowledge of how to take advantage of the performance power of C language, due mostly to its use of pointers. For those programming in a commercial/business environment, where coding practices are strictly enforced, this book would be a good desk reference, as the author includes discussion of sound programming practices throughout the book. The book would also serve well those involved in teaching C in the classroom, as it contains many exercises, ranging from very easy to highly advanced. And for those readers frequently facing legacy code in C, such as scientific programmers, the author cites the differences between the older "Kernighan-Ritchie" C, and the more modern ANSI C, the latter being used in the book. These differences are indicated in the margin of the book, and are of an enormous help for those who must take older code and get it to run on more up-to-date compilers. The author also endeavors to organize the C code for those who are going on to study C++ and the accompanying object-oriented approach to programming. In addition, he emphasizes how to write C code so as to make it more portable. For those writing commercial applications in C that must be used on different platforms, this is a very important issue of course. Particularly well-written is the author's discussion on the storage class of a variable, noting, for those such as I who are pre-disposed to using recursion, that the formal parameters to a function cannot be static if recursion is to be supported. The book is full of examples such as this that give readers insight on the workings of C that fit their particular programming style. He does discuss 'goto' statements in relation to function scope and in C statement structures, but, thankfully, recommends such statements never be used. He gives an interesting counterexample to those who say that goto statements must be used to break out of nested loops. Also, the author discusses the difference between L- and R-values, and this is not usually included in beginning books on C. Dynamic memory allocation has been at times a somewhat painful aspect of programming in C, but the author shows how to do straightforwardly in the book. Having a book like this that is predominantly about pointers is quite a blessing for those who are inexperienced with them or for more experienced programmers who are still uncomfortable with their use. It is not uncommon these days to have to write programs in one's professional work that involve triple pointers or even quadruple pointers. In addition, for embedded systems programming, the use of pointer arithmetic is almost mandatory. This also is true for writing applications in cryptography using C. The author does pay careful attention to pointer arithmetic in the book. The performance pay-off for using pointers is undeniable, and so a thorough knowledge of their use and pit-falls is of upmost importance for those C programmers who are involved in writing performance-sensitive applications. The author discusses in detail what can happen when pointers are misused and gives many examples of what to avoid and good hints for the proper use of pointers. He recommends against the use of the 'null' pointer in array searching, and recommends a strategy for circumventing them. Some very helpful diagrams are given for explaining pointer expressions. In addition, the author gives helpful hints on when to use pointers and not subscripts when manipulating arrays in C. The performance issues involved in this are extremely important in scientific programming using C. The author gives a very interesting example of the differences in performance using pointers involving a program to copy the contents of one array into another. Arrays of pointers, useful in data mining applications, are also given ample treatment in this book, and the author addresses the issue of when to use a matrix instead of an array of pointers. The author also gives an effective presentation of functions in C, particularly the construction of recursive functions, and he employs some useful diagrams to illustrate how the variables in a recursive function call change on the stack. The performance hit experienced by using recursion versus iterative loops is discussed in a standard way via the Fibonacci series. Those readers raised in the functional programming paradigm will want to pay notice these performance issues when using C to do recursion. Along the same lines, the author shows how to implement functions with variable argument lists in C. This is another topic that is frequently passed over in beginning books on C. The author's treatment of data structures in C is also very nicely done, and he includes again a topic not usually treated in beginning books on C, namely the concept of a self-referential data structure. These are very important in applications in artificial intelligence, and the author shows how to implement them in C using a data structure that points to itself. This leads to a discussion of incomplete declarations. Very helpful diagrams are used again to discuss how to access members of data structures and how to point to data structures. Bit fields, so often used in embedded system applications, are also given a detailed treatment.
Rating:  Summary: Clears up the sometimes obscure nuances of pointers in C Review: Great book. It taught me more about pointers in the C language than any other C book I've used. However, it's not just about pointers. It's a good book for learning C in general.
Rating:  Summary: One of the best C books I've read. Review: I bought this book for a class on C taught by the author. The man really knows his stuff and this book shows it. Even the most seasoned C programmer can learn a new thing or two from Ken's elegant coding and concise explanations. It also makes a great reference, as it seems to have the answers to those random questions that come up while programming, easily found and explained in plain English.
If you are a C programmer, I would say this book is a must have.
Rating:  Summary: Excellent Book Review: I had a deadline and I knew very little of C. This book saved my life! The text is very well written and captivating. It contains examples and counter-examples with the most usual trivial mistakes. The title suggests the book is only on pointers, but this is not true. It deals with everything needed to start programming right away. A must-buy book if you want to learn C fast and easy.
Rating:  Summary: Expands your knowledge of C Review: I just had to do something when I saw the 3-star review saying it's not worth the money. It absolutely is! Pointers is the most difficult thing about C, and this book REALLY made me understand what you can (and can't do). The last chapter that includes m68k assembly also gives you some leverage in the field of code/machine.
Best C-book I have read (that includes "The C-Programming Language").
Rating:  Summary: Best book for learning C pointers! Review: If youre struggling with complex pointer operations (as I was) .. get this book. Even if youre not having trouble with them, I'm sure you will learn something from this book. I like how Reek anticipates questions readers will have, then goes on to explain in lucid detail. Excellent!
Rating:  Summary: excellent book Review: maybe a little too advanced for beginners, but read this if you want to MASTER pointers in C.
|