Cover image for C Pocket Reference

Book description

C is one of the oldest programming languages and still one of themost widely used. Whether you're an experienced C programmer oryou're new to the language, you know how frustrating it can be tohunt through hundreds of pages in your reference books to find thatbit of information on a certain function, type or other syntaxelement. Or even worse, you may not have your books with you. Youranswer is the C Pocket Reference. Concise and easy to use,this handy pocket guide to C is a must-have quick reference for anyC programmer. It's the only C reference that fits in your pocketand is an excellent companion to O'Reilly's other C books. Ideal asan introduction for beginners and a quick reference for advancedprogrammers, the C Pocket Reference consists of two parts: acompact description of the C language and a thematically structuredreference to the standard library. The representation of thelanguage is based on the ANSI standard and includes extensionsintroduced in 1999. An index is included to help you quickly findthe 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 amongprogrammers everywhere. By providing a wealth of important detailsin a concise, well-organized format, these handy books deliver justwhat you need to complete the task at hand. When you've reached asticking 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. C Pocket Reference
    1. SPECIAL OFFER: Upgrade this ebook with O’Reilly
    2. 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
          1. if ... else
          2. switch
        3. 1.7.3. Loops
          1. while
          2. do ... while
          3. for
        4. 1.7.4. Unconditional Jumps
          1. goto
          2. continue
          3. break
          4. return
      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
          1. restrict
          2. typedef
      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
        1. #define
        2. The # Operator
        3. The ## Operator
        4. #undef
        5. #include
        6. #if, #elif, #else, #endif
        7. The defined operator
        8. #ifdef and #ifndef
        9. #line
        10. #pragma
      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
    3. Index
    4. About the Authors
    5. SPECIAL OFFER: Upgrade this ebook with O’Reilly