Home > Store > Programming > C/C++

Expert C Programming

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

Expert C Programming

Best Value Purchase

Book + eBook Bundle

  • Your Price: $46.64
  • List Price: $77.98
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.

More Purchase Options

Book

  • Your Price: $34.39
  • List Price: $42.99
  • Usually ships in 24 hours.

eBook (Watermarked)

  • Your Price: $27.99
  • List Price: $34.99
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.

About

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).

Description

  • 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

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.

Sample Content

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)

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

Updates

Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership