Expert C Programming / Edition 1

Paperback (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $17.93
Usually ships in 1-2 business days
(Save 58%)
Other sellers (Paperback)
  • All (10) from $17.93   
  • New (6) from $30.71   
  • Used (4) from $17.93   

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. 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. For software engineers and computer programmers who are writing, developing, testing, debugging software on either IBM PCs or Unix systems.


Most C books are filled with dry and boring prose about C syntaxes, libraries, and pointers... until now. Written much like Libe's Life With UNIX book, van der Linden combines comical anecdotes as well as instructional programming tips on C. Informative footnotes on software dogmas, programming challenges, and handy heuristics are give facts, tips and tricks on C programming. Chapter eleven will digress a little into C++ language characteristics such as polymorphism, declarations, inheritances and multiple inheritances. The differences between "K & R" C and ANSI C are deftly explained as well as virtual and cache memory, stack segments under different platforms, and C arrays and pointers. A couple of anecdotes explain the $20 million bug held in the asynchronous I/O library, and the 1962 forced explosion of a $12 million rocket because of an error in programming. At the completion of this book you will not get a cookie, but you will get a Certificate of Merit (which is at the end of chapter 11) for burning the midnight oil studying this stuff. Don't be shocked if you find yourself wanting to read this book instead of having to read it!

Read More Show Less

Editorial Reviews

From Barnes & Noble

Fatbrain Review

Most C books are filled with dry and boring prose about C syntaxes, libraries, and pointers... until now. Written much like Libe's Life With UNIX book, van der Linden combines comical anecdotes as well as instructional programming tips on C. Informative footnotes on software dogmas, programming challenges, and handy heuristics are give facts, tips and tricks on C programming. Chapter eleven will digress a little into C++ language characteristics such as polymorphism, declarations, inheritances and multiple inheritances. The differences between "K & R" C and ANSI C are deftly explained as well as virtual and cache memory, stack segments under different platforms, and C arrays and pointers. A couple of anecdotes explain the $20 million bug held in the asynchronous I/O library, and the 1962 forced explosion of a $12 million rocket because of an error in programming. At the completion of this book you will not get a cookie, but you will get a Certificate of Merit (which is at the end of chapter 11) for burning the midnight oil studying this stuff. Don't be shocked if you find yourself wanting to read this book instead of having to read it !
Read More Show Less

Product Details

  • ISBN-13: 9780131774292
  • Publisher: Prentice Hall
  • Publication date: 6/14/1994
  • Edition description: New Edition
  • Edition number: 1
  • Pages: 384
  • Sales rank: 528,060
  • Product dimensions: 7.40 (w) x 9.10 (h) x 0.90 (d)

Meet the Author


Peter van der Linden currently leads a team of kernal programmers at Sun Microsystems, Inc. developing software for advanced workstations. His books include Not Just Java, Expert C Programming: Deep C Secrets and The Official Handbook of Practical Jokes (NAL-Penguin).
Read More Show Less

Read an Excerpt

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

Read More Show Less

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.

Read More Show Less

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

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)