C Reference
Core language rules, standard library families, headers, and navigation paths for the C reference.
C is both a language specification and a standard library. This landing page is the top-level map for the C reference: start here when you need the right branch of the language, the right library family, or a faster route into headers and symbol indexes.
# Start Here
Language rules and syntax
Declarations, expressions, types, initialization, storage duration, functions, and the execution model of the language itself.
Preprocessor and translation
Macro replacement, conditional inclusion, source file inclusion, line control, and the token-processing steps that happen before compilation.
Choose by header family
Use the header and library-family routes when you know the facility area you need but not yet the exact function or macro name.
Find by index
Jump to index-style routes when you already know the approximate symbol shape, macro family, or entry namespace.
# Language Vs. Library
| Area | What it answers | Start with | Typical topics |
|---|---|---|---|
| Core language | How C code is parsed and evaluated: types, expressions, declarations, storage duration, initialization, conversions, and program structure. | Language | Arithmetic types, Declarations, Expressions, Lifetime |
| Preprocessor | How source text is transformed before the compiler sees the final translation unit. | Preprocessor | #include, Macro replacement, Conditional inclusion |
| Standard library | Which headers, functions, macros, and support types the C library provides. | String, I/O, Numerics | Memory, Time, Threads, Error handling |
| Reference aids | How to browse by keyword, header path, or index rather than by topic-first documentation flow. | Keywords, Headers, Index | Tokens, macros, aliases, compatibility entry points, and lookup shortcuts. |
# Library Families
Strings and memory
Byte strings, wide strings, memory inspection and copying, and the boundary between raw memory and string-oriented APIs.
Input and output
Streams, files, buffering, formatted I/O, byte/wide character functions, temporary files, and error-state handling.
Numerics and math
Mathematical functions, complex arithmetic, floating-point environment, random number generation, and bit utilities.
Time and date
Calendar time, broken-down time, clocks, formatting, and portable time measurements.
time · strftime · timespec_get
Concurrency and atomics
Thread creation and synchronization in C11+, plus the atomic object model, fences, lock-freedom, and memory order.
Program support and diagnostics
Process control, environment interaction, termination behavior, assertions, errno, and runtime diagnostics.
# Headers And Indexes
| Use case | Go here |
|---|---|
| You want to browse the C library by broad header path or compatibility route. | Header index |
| You already know the token or language keyword you need. | Keyword index |
| You want index-style C entry points and macro-oriented lookup paths. | C index |
| You need the C++ side of the reference instead of the C side. | C++ reference |