O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

C Pocket Reference

Book Description

C is one of the oldest programming languages and still one of the most widely used. Whether you're an experienced C programmer or you're new to the language, you know how frustrating it can be to hunt through hundreds of pages in your reference books to find that bit of information on a certain function, type or other syntax element. Or even worse, you may not have your books with you. Your answer is the C Pocket Reference. Concise and easy to use, this handy pocket guide to C is a must-have quick reference for any C programmer. It's the only C reference that fits in your pocket and is an excellent companion to O'Reilly's other C books.Ideal as an introduction for beginners and a quick reference for advanced programmers, the C Pocket Reference consists of two parts: a compact description of the C language and a thematically structured reference to the standard library. The representation of the language is based on the ANSI standard and includes extensions introduced in 1999. An index is included to help you quickly find the information you need.This small book covers the following:

  • C language fundamentals
  • Data types
  • Expressions and operators
  • C statements
  • Declarations
  • Functions
  • Preprocessor directives
  • The standard library
O'Reilly's Pocket References have become a favorite among programmers everywhere. By providing a wealth of important details in a concise, well-organized format, these handy books deliver just what you need to complete the task at hand. When you've reached a sticking point in your work and need to get to a solution quickly, the new C Pocket Reference is the book you'll want to have.

Table of Contents

  1. 1. C Pocket Reference
    1. 1.1. Introduction
      1. 1.1.1. Font Conventions
    2. 1.2. Fundamentals
      1. 1.2.1. C Program Structure
      2. 1.2.2. Character Sets
      3. 1.2.3. Identifiers
      4. 1.2.4. Categories and Scope of Identifiers
    3. 1.3. Basic Types
      1. 1.3.1. Integer Types
      2. 1.3.2. Real and Complex Floating Types
        1. 1.3.2.1. Internal representation of a real floating-point number
        2. 1.3.2.2. Complex floating types
      3. 1.3.3. The Type void
    4. 1.4. Constants
      1. 1.4.1. Integer Constants
      2. 1.4.2. Floating Constants
      3. 1.4.3. Character Constants and String Literals
    5. 1.5. Expressions and Operators
      1. 1.5.1. Arithmetic Operators
      2. 1.5.2. Assignment Operators
      3. 1.5.3. Relational Operators and Logical Operators
      4. 1.5.4. Logical Operators
      5. 1.5.5. Bitwise Operators
      6. 1.5.6. Memory Accessing Operators
      7. 1.5.7. Other Operators
        1. 1.5.7.1. Alternative notation for operators
    6. 1.6. Type Conversions
      1. 1.6.1. Integer Promotion
      2. 1.6.2. Usual Arithmetic Conversions
      3. 1.6.3. Type Conversions in Assignments and Pointers
    7. 1.7. Statements
      1. 1.7.1. Block and Expression Statements
      2. 1.7.2. Jumps
      3. 1.7.3. Loops
      4. 1.7.4. Unconditional Jumps
    8. 1.8. Declarations
      1. 1.8.1. General Syntax and Examples
      2. 1.8.2. Complex Declarations
    9. 1.9. Variables
      1. 1.9.1. Storage Classes
      2. 1.9.2. Initialization
    10. 1.10. Derived Types
      1. 1.10.1. Enumeration Types
      2. 1.10.2. Structures, Unions, and Bit-Fields
        1. 1.10.2.1. Unions
        2. 1.10.2.2. Bit-fields
      3. 1.10.3. Arrays
      4. 1.10.4. Pointers
        1. 1.10.4.1. Pointer arithmetic
        2. 1.10.4.2. Function pointers
      5. 1.10.5. Type Qualifiers and Type Definitions
    11. 1.11. Functions
      1. 1.11.1. Function Prototypes
      2. 1.11.2. Function Definitions
      3. 1.11.3. Function Calls
      4. 1.11.4. Functions with Variable Numbers of Arguments
    12. 1.12. Linkage of Identifiers
    13. 1.13. Preprocessing Directives
    14. 1.14. Standard Library
    15. 1.15. Standard Header Files
    16. 1.16. Input and Output
      1. 1.16.1. Error Handling for Input/Output Functions
      2. 1.16.2. General File Access Functions
      3. 1.16.3. File Input/Output Functions
        1. 1.16.3.1. Reading and writing characters and strings
        2. 1.16.3.2. Block read and write functions
        3. 1.16.3.3. Formatted output
        4. 1.16.3.4. Formatted input
    17. 1.17. Numerical Limits and Number Classification
      1. 1.17.1. Value Ranges of Integer Types
      2. 1.17.2. Range and Precision of Real Floating Types
      3. 1.17.3. Classification of Floating-Point Numbers
    18. 1.18. Mathematical Functions
      1. 1.18.1. Mathematical Functions for Integer Types
      2. 1.18.2. Mathematical Functions for Real Floating Types
      3. 1.18.3. Optimizing Runtime Efficiency
      4. 1.18.4. Mathematical Functions for Complex Floating Types
      5. 1.18.5. Type-Generic Macros
      6. 1.18.6. Error Handling for Mathematical Functions
      7. 1.18.7. The Floating-Point Environment
    19. 1.19. Character Classification and Case Mapping
    20. 1.20. String Handling
      1. 1.20.1. Conversion Between Strings and Numbers
      2. 1.20.2. Multibyte Character Conversion
    21. 1.21. Searching and Sorting
    22. 1.22. Memory Block Management
    23. 1.23. Dynamic Memory Management
    24. 1.24. Time and Date
    25. 1.25. Process Control
      1. 1.25.1. Communication with the Operating System
      2. 1.25.2. Signals
      3. 1.25.3. Non-Local Jumps
      4. 1.25.4. Error Handling for System Functions
    26. 1.26. Internationalization
  2. Index
  3. About the Authors
  4. Copyright