C In A Nutshell

( 2 )


Learning a language—any language—involves a process wherein you learn to rely less and less on instruction and more increasingly on the aspects of the language you've mastered. Whether you're learning French, Java, or C, at some point you'll set aside the tutorial and attempt to converse on your own. It's not necessary to know every subtle facet of French in order to speak it well, especially if there's a good dictionary available. Likewise, C programmers don't need to memorize every detail of C in order to write...

See more details below
BN.com price
(Save 23%)$39.95 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Paperback)
  • All (13) from $6.62   
  • New (9) from $20.64   
  • Used (4) from $6.62   
C in a Nutshell

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK 7.0
  • Samsung Galaxy Tab 4 NOOK 10.1
  • NOOK HD Tablet
  • NOOK HD+ Tablet
  • NOOK eReaders
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK for Web

Want a NOOK? Explore Now

NOOK Book (eBook)
BN.com price
(Save 43%)$31.99 List Price


Learning a language—any language—involves a process wherein you learn to rely less and less on instruction and more increasingly on the aspects of the language you've mastered. Whether you're learning French, Java, or C, at some point you'll set aside the tutorial and attempt to converse on your own. It's not necessary to know every subtle facet of French in order to speak it well, especially if there's a good dictionary available. Likewise, C programmers don't need to memorize every detail of C in order to write good programs. What they need instead is a reliable, comprehensive reference that they can keep nearby. C in a Nutshell is that reference.

This long-awaited book is a complete reference to the C programming language and C runtime library. Its purpose is to serve as a convenient, reliable companion in your day-to-day work as a C programmer. C in a Nutshell covers virtually everything you need to program in C, describing all the elements of the language and illustrating their use with numerous examples.

The book is divided into three distinct parts. The first part is a fast-paced description, reminiscent of the classic Kernighan & Ritchie text on which many C programmers cut their teeth. It focuses specifically on the C language and preprocessor directives, including extensions introduced to the ANSI standard in 1999. These topics and others are covered:

  • Numeric constants
  • Implicit and explicit type conversions
  • Expressions and operators
  • Functions
  • Fixed-length and variable-length arrays
  • Pointers
  • Dynamic memory management
  • Input and output

The second part of the book is a comprehensive reference to the C runtime library; it includes an overview of the contents of the standard headers and a description of each standard library function. Part III provides the necessary knowledge of the C programmer's basic tools: the compiler, the make utility, and the debugger. The tools described here are those in the GNU software collection.

C in a Nutshell is the perfect companion to K&R, and destined to be the most reached-for reference on your desk.

In this one, handy book, programmers get virtually everything they need to program in C, long established as an ANSI standard. The C programming language has been around since 1971 and is still the language of choice for many applications.

Read More Show Less

Product Details

  • ISBN-13: 9780596006976
  • Publisher: O'Reilly Media, Incorporated
  • Publication date: 12/23/2005
  • Series: In a Nutshell (O'Reilly) Series
  • Edition number: 1
  • Pages: 622
  • Sales rank: 780,871
  • Product dimensions: 8.78 (w) x 6.00 (h) x 1.12 (d)

Meet the Author

Peter is a seminar leader and key course developer, teaching courses to thousands of software developers for Unix and Windows systems. As the chief developer and cofounder of the IT company Authensis AG in Germany, he has gained extensive experience in software development for computer telephony. Peter is also the author of several other books on software development in C/C++, most of them as co-author with Ulla Kirch-Prinz, including O'Reilly's "C Pocket Reference".

Tony Crawford is a technical-writer and freelance translator with a strong C background based just outside Berlin, Germany. In addition to regular software localization projects, he has translated books on network administration and ATM. A US native, Tony completed undergraduate work at Occidental College, Los Angeles; Universit de Perpignan, France; and Technische Universit t, Berlin. Tony translates from German into English.

Read More Show Less

Table of Contents

How This Book Is Organized;
Further Reading;
Conventions Used in This Book;
Using Code Examples;
Safari® Enabled;
Your Questions and Comments;
Part I: Language;
Chapter 1: Language Basics;
1.1 Characteristics of C;
1.2 The Structure of C Programs;
1.3 Source Files;
1.5 Character Sets;
1.6 Identifiers;
1.7 How the C Compiler Works;
Chapter 2: Types;
2.1 Typology;
2.2 Integer Types;
2.3 Floating-Point Types;
2.4 Complex Floating-Point Types (C99);
2.5 Enumerated Types;
2.6 The Type void;
Chapter 3: Literals;
3.1 Integer Constants;
3.2 Floating-Point Constants;
3.3 Character Constants;
3.4 String Literals;
Chapter 4: Type Conversions;
4.1 Conversion of Arithmetic Types;
4.2 Conversion of Nonarithmetic Types;
Chapter 5: Expressions and Operators;
5.1 How Expressions Are Evaluated;
5.2 Operators in Detail;
5.3 Constant Expressions;
Chapter 6: Statements;
6.1 Expression Statements;
6.2 Block Statements;
6.3 Loops;
6.4 Selection Statements;
6.5 Unconditional Jumps;
Chapter 7: Functions;
7.1 Function Definitions;
7.2 Function Declarations;
7.3 How Functions Are Executed;
7.4 Pointers as Arguments and Return Values;
7.5 Inline Functions;
7.6 Recursive Functions;
7.7 Variable Numbers of Arguments;
Chapter 8: Arrays;
8.1 Defining Arrays;
8.2 Accessing Array Elements;
8.3 Initializing Arrays;
8.4 Strings;
8.5 Multidimensional Arrays;
8.6 Arrays as Arguments of Functions;
Chapter 9: Pointers;
9.1 Declaring Pointers;
9.2 Operations with Pointers;
9.3 Pointers and Type Qualifiers;
9.4 Pointers to Arrays and Arrays of Pointers;
9.5 Pointers to Functions;
Chapter 10: Structures and Unions and Bit-Fields;
10.1 Structures;
10.2 Unions;
10.3 Bit-Fields;
Chapter 11: Declarations;
11.1 General Syntax;
11.2 Type Names;
11.3 typedef Declarations;
11.4 Linkage of Identifiers;
11.5 Storage Duration of Objects;
11.6 Initialization;
Chapter 12: Dynamic Memory Management;
12.1 Allocating Memory Dynamically;
12.2 Characteristics of Allocated Memory;
12.3 Resizing and Releasing Memory;
12.4 An All-Purpose Binary Tree;
12.5 Characteristics;
12.6 Implementation;
Chapter 13: Input and Output;
13.1 Streams;
13.2 Files;
13.3 Opening and Closing Files;
13.4 Reading and Writing;
13.5 Random File Access;
Chapter 14: Preprocessing Directives;
14.1 Inserting the Contents of Header Files;
14.2 Defining and Using Macros;
14.3 Conditional Compiling;
14.4 Defining Line Numbers;
14.5 Generating Error Messages;
14.6 The #pragma Directive;
14.7 The _Pragma Operator;
14.8 Predefined Macros;
Part II: Standard Library;
Chapter 15: The Standard Headers;
15.1 Using the Standard Headers;
15.2 Contents of the Standard Headers;
Chapter 16: Functions at a Glance;
16.1 Input and Output;
16.2 Mathematical Functions;
16.3 Character Classification and Conversion;
16.4 String Processing;
16.5 Multibyte Characters;
16.6 Converting Between Numbers and Strings;
16.7 Searching and Sorting;
16.8 Memory Block Handling;
16.9 Dynamic Memory Management;
16.10 Date and Time;
16.11 Process Control;
16.12 Internationalization;
16.13 Nonlocal Jumps;
16.14 Debugging;
16.15 Error Messages;
Chapter 17: Standard Library Functions;
Part III: Basic Tools;
Chapter 18: Compiling with GCC;
18.1 The GNU Compiler Collection;
18.2 Obtaining and Installing GCC;
18.3 Compiling C Programs with GCC;
18.4 C Dialects;
18.5 Compiler Warnings;
18.6 Optimization;
18.7 Debugging;
18.8 Profiling;
18.9 Option and Environment Variable Summary;
Chapter 19: Using make to Build C Programs;
19.1 Targets, Prerequisites, and Commands;
19.2 The Makefile;
19.3 Rules;
19.5 Variables;
19.6 Phony Targets;
19.7 Other Target Attributes;
19.8 Macros;
19.9 Functions;
19.10 Directives;
19.11 Running make;
Chapter 20: Debugging C Programs with GDB;
20.1 Installing GDB;
20.2 A Sample Debugging Session;
20.3 Starting GDB;
20.4 Using GDB Commands;

Read More Show Less

Customer Reviews

Average Rating 5
( 2 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


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


  • - 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
Sort by: Showing all of 2 Customer Reviews
  • Posted May 9, 2011

    Must buy for anyone involved with C

    This book has been a staple for me both in school and in the work place. It includes excellent explanations of syntax and tools. The element of this book that takes it from good to great though, is the level of detail.
    One might ask, "well thats fine, as splendid of a reference tool as this book is, why not use an internet reference site?" Well, why choose? When I just need some quick details I look up functions online but when I need an explanation or more detail I use "C in a Nutshell".

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 9, 2007


    Are you a C programmer? If you are, then this book is for you. Authors Peter Prinz and Tony Crawford, have done an outstanding job of writing a book that is a complete reference to the C programming language and the C runtime library. Prinz and Crawford, begin with an overview of the C language. Then, the authors provide an overview of standard headers and a detailed function reference. Finally, they provide the necessary knowledge of the C programmer¿s basic tools: the compiler, the make utility, and the debugger. This most excellent book will help you understand the key concepts, such as type conversion, dynamic memory management, working with pointers, and more. Perhaps more importantly, this book will help you get the job done.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 2 Customer Reviews

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