Home > Store > Programming > C/C++

larger cover

Add To My Wish List

Expert C Programming

  • By Peter van der Linden
  • Published Jun 14, 1994 by Prentice Hall.
    • Copyright 1994
    • Dimensions: 7 1/2 x 9 1/4
    • Pages: 384
    • Edition: 1st
    • Book
    • ISBN-10: 0-13-177429-8
    • ISBN-13: 978-0-13-177429-2

Register your product to gain access to bonus material or receive a coupon.

  • About
  • Description
  • Reviews
  • Sample Content

Annotation

This book is for the knowledgeable C programmer, this is a second book that gives the C programmers advanced tips and tricks. This book will help the C programmer reach new heights as a professional. Organized to make it easy for the reader to scan to sections that are relevant to their immediate needs.

Basic Approach

Written for experienced C programmers who want to quickly pick up some of the insights and techniques of experts and master the fine arts of ANSI C, this volume passes on the wisdom of a highly exper

PTR Overview

Written for experienced C programmers who want to quickly pick up some of the insights and techniques of experts and master the fine arts of ANSI C, this volume passes on the wisdom of a highly experienced C compiler writer and his colleagues to help programmers reach new heights, and avoid common software pitfalls along the way. Using an original approach and a humorous style that makes deep knowledge both easy and accessible, it gathers into one place, tips, hints, shortcuts, guidelines, ideas, idioms, heuristics, tools, anecdotes, C folklore, and techniques that are often penciled in margins and on backs of papers by those working in the programming trenches—working on many different kinds of projects, over many, many years. KEY TOPICS: Each chapter is divided into self-contained sections. Includes extended discussions of major topics such as declarations and arrays/pointers; offers a great many hints and mnemonics; covers topics that many C programmers find confusing; and features one of the best introductions to C++, and the rationale behind it. Throughout, technical details are interspersed with many true stories of how C programming works in practice, and each chapter ends with an amusing C story or piece of software folklore. MARKET: For software engineers and computer programmers who are writing, developing, testing, debugging software on either IBM PCs or Unix systems.

Features

  • completely up-to-date with ANSI C.
  • acknowledges the human side of computer programming—too often overlooked by other writers.
  • applies ANSI standard C as found on PCs and Unix systems.
  • covers unique aspects of C relating to sophisticated hardware typically found on Unix platforms (virtual memory, etc.).
  • uses the terminology of ANSI throughout, along with translations into ordinary English where needed.
  • contains boxed Programming Challenges and Handy Heuristics (ideas, rules-of thumb, or guidelines that work in practice).
  • includes one of the best introductions to C++, and the rationale behind it.
  • covers many topics that many C programmers find confusing: What does typedef struct bar {int bar} bar; actually mean? How can I pass differently-sized multi-dimensional arrays to one function? What's the difference between char *foo and char (*foo)? What's a bus error? What's a segmentation violation?
  • contains many interesting C stories and folklore, such as the January 1990 slowdown of the entire AT&T phone network (caused by a C bug).

This is a very different book on the C language! In an easy, conversational style, Peter van der Linden, of Sun's compiler and OS kernel group, presents dozens of astonishing examples drawn from practical experience, including:

  • Software that blew up the space probe to Venus
  • The C bug that shut down the entire AT&T phone system
  • C programmer job interview secrets
  • Why programmers can't tell Halloween from Christmas day
  • The C code for a complete BASIC interpreter

Expert C Programming reveals the coding techniques used by the best C programmers. It relates C to other languages, and includes an introduction to C++ that can be understood by an programmer without weeks of mind-bending study. Covering both the IBM PC and UNIX systems, it is an entertaining and educational romp through C showing how experts really use it. Expert C Programming is a must read for anyone who wants to learn more about the implementation, practical use, and folklore of C.

"Not just clearly written, but fun to read. The tone and style of this text should make this a popular book with professional programmers. However, the tone of this book will make it very popular with undergraduates. Appendix A alone would make the purchase of this book a must. It's filled with great advice."

—Professor Jack Beidler, Chairman, Department of Computer Science, University of Scranton

"So that's why extern char *cp isn't the same as extern char cp. I knew that it didn't work despite their superficial equivalence, but I didn't know why. I also love the job interview test questions on C."

—David S. Platt, Rolling Thunder Computing

"In Expert C Programming, Peter van der Linden combines C language expertise and a subtle sense of humor to deliver a C programming book that stands out from the pack. In a genre too often known for windy, lifeless prose, van der Linden's crisp language, tongue-in-cheek attitude, and real-world examples engage and instruct."

—John Barry, author of Sunburst, Technobabble, and other books

Customer Reviews

42 of 44 people found the following review helpful
4.0 out of 5 stars Provides great detail on C's dustier corners, May 31, 2000
Amazon Verified Purchase(What's this?)
This review is from: Expert C Programming: Deep C Secrets (Paperback)
This book exposes many C programming language obscurities - particularly related to pointers, memory usage, and compiling. All of these things are things that you need in order to become an advanced C programmer.

This book is full of little nuggets. I keep it by my desk, and when I have a free moment, I turn to a page at random and read the section that catches my eye. It is a great way to learn something new or reinforce something you know.

If you are looking for a "bag of tricks" book with canned routines, this is not the book for you. For a good bag of tricks, check out "Mastering Algorithms with C," ISBN 1-56592-453-3.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


35 of 37 people found the following review helpful
5.0 out of 5 stars Why can't more programming books be like this?, October 23, 2001
By 
Douglas Welzel (Seattle, WA) - See all my reviews
(REAL NAME)   
This review is from: Expert C Programming: Deep C Secrets (Paperback)
This title has been sitting on my shelf for years, but for some reason I decided to start flipping through it the other day. It's sad to admit this, but I couldn't put it down! I really wish I had taken the time to read this years ago.

In a reasonably short title, this book covers more about the nooks and crannies of C than almost any other book I have come across -- and does it in a way that keeps the reader's attention. Subtle aspects of the language are presented in detail and accompanied by interesting stories and suggestions (called "Handy Heuristics" in the book) for improving your own code.

The book then steps a bit outside of the language to explain (briefly) how linkers work and how executable are structured. This information helps to round out the language specific material and is something you won't find in too many other places.

The only downside to this title is that the information is probably a bit dated and somewhat Sun specific. However, I... Read more

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


24 of 25 people found the following review helpful
5.0 out of 5 stars Required reading for aspiring C experts, March 16, 2000
This review is from: Expert C Programming: Deep C Secrets (Paperback)
A short aside on the author - Peter van der Linden is probably one of the better technical writers out there. Both this book and "Just Java" are a pleasure to read. He's also a good public speaker, if you get a chance to see him in the valley.

Where this book stands out is its lucid explanations of "under the hood" material. What really happens when your program is loaded in? Why aren't pointers and arrays the same? (Bet you thought they were.) This book explains it all.

The section on interview questions is required reading for interviewers and interviewees alike.

In short, a great book. My dog-eared copy has been handed around the office so many times that I had to take it back and force everyone else to get their own copy (which they quickly did).

Only one minor gripe - there are a number of typos in the printing I have. Peter is VERY good about posting errata on his website however, so I can't let this detract from my 5 star rating.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


Share your thoughts with other customers:
 See all 101 customer reviews...

Table of Contents



Introduction.


 1. The ANSI C Standard.


 2. It's Not a Bug, It's a Language Feature!


 3. Unscrambling Declarations in C.


 4. Thinking of Linking.


 5. Poetry in Motion—Runtime Data Structures.


 6. Why Programmers Can't Tell Halloween from Christmas Day.


 7. The Shocking Truth: Arrays and Pointers Are Not Equivalent!


 8. More about Arrays.


 9. More about Pointers.


10. You Know C—C++ Is Easy!


Appendix: C Interview Secrets.

Preface

Preface

Browsing in a bookstore recently, I was discouraged to see the dryness of so many C and C++ texts. Few authors conveyed the idea that anyone might enjoy programming. All the wonderment was squeezed out by long boring passages of prose. Useful perhaps, if you can stay awake long enough to read it. But programming isn't like that!

Programming is a marvellous, vital, challenging activity, and books on programming should brim over with enthusiasm for it! This book is educational, but also interesting in a way that puts the fun back in functions. If this doesn't seem like something you'll enjoy, then please put the book back on the shelf, but in a more prominent position. Thanks!

OK, now that we're among friends, there are already dozens and dozens of books on programming in C - what's different about this one?

Expert C Programming should be every programmer's second book on C. Most of the lessons, tips, and techniques here aren't found in any other book. They are usually pencilled in the margin of well-thumbed manuals or on the backs of old printouts, if they are written down at all. The knowledge has accumulated over years of C programming by the author and colleagues in Sun's Compiler and Operating Systems groups. There are many interesting C stories and folklore, like the vending machines connected to the Internet, problems with software in outer space, and how a C bug brought down the entire AT&T long-distance phone network. Finally, the last chapter is an easy tutorial on C++, to help you master this increasingly-popular offshoot of C.

The text applies to ANSI standard C as found on PCs and UNIX systems. Unique aspects of C relating to sophisticated hardware typically found on UNIX platforms (virtual memory, etc.) are also covered in detail. The PC memory model and the Intel 8086 family are fully described in terms of their impact on C code. People who have already mastered the basics of C will find this book full of all the tips, hints, and shortcuts that a programmer usually picks up over a period of many years. It covers topics that many C programmers find confusing:

  • What does typedef struct bar {int bar;} bar; actually mean?
  • How can I pass different-sized multidimensional arrays to one function?
  • Why, oh why, doesn't extern char *p; match char p100; in another file?
  • What's a bus error? What's a segmentation violation?
  • What's the difference between char *foo and char(*foo)?

If you're not sure about some of these, and you'd like to know how the C experts cope, then read on! If you already know all of these things and everything else about C, get the book anyway to reinforce your knowledge. Tell the bookstore clerk that you're "buying it for a friend."

— PvdL, Silicon Valley, California

Downloadable Sample Chapter

Click here for a sample chapter for this book: 0131774298.pdf

Sample Pages

Download the sample pages (includes Chapter 3 and Index)

 
Buy

Book  $42.99  $34.39

Usually ships in 24 hours.

This book includes free shipping!

Purchase Reward: One Month Free Subscription
By completing any purchase on InformIT, you become eligible for an unlimited access one-month subscription to Safari Books Online.

Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.