Frequently asked questions
What is the purpose of this site?
Our goal is to provide programmers with a complete online reference for the C and C++ languages and standard libraries, i.e. a more convenient version of the C and C++ standards.
The primary objective is to have a good specification of C and C++. That is, things that are implicitly clear to an experienced programmer should be omitted, or at least separated from the main description of a function, constant or class. A good place to demonstrate various use cases is the "example" section of each page. Rationale, implementation notes, domain specific documentation are preferred to be included in the "notes" section of each page.
Why is the material here limited to the standard C and C++?
In short, we chose quality over quantity. Some Boost libraries could also be candidates for inclusion though. While their tutorials are very good, the reference documentation is often very inflexible and inconvenient.
Where can I find more information?
Check out the following collections of links [1] [2] for alternative links and material that falls outside of the scope of this site.
Which revision of the C Standard does this reference adhere to?
C23 is the most recently published C Standard (and C2y is on the way), so it is the main focus of the C reference.
However, in order to provide a more complete reference, we also include documentation describing previous versions of the standard (C89, C95, C99, C11, C17), drafts for future versions of the standard, and the Technical Specifications. All version-specific documentation should be labeled appropriately.
The various C standard revisions can be found at:
- C2y
- The latest free working draft is n3550 (2025-05-04).
- C23
- The official C23 Standard can be purchased from ISO.
- The draft N3220 (2024-02-22) is equivalent to C23 except for editorial fixes.
- C17
- The C17 standard was withdrawn and is no longer available from ISO, although it may still be purchased from ANSI.
- The final draft standard C17 FDIS is available for free.
- C11
- The C11 standard was withdrawn and is no longer available from ISO, although it may still be purchased from ANSI.
- A C11 working draft N1570 (2011-04-12) is available for free and differs only minimally from the final C11 Standard.
- C99
- The C99 standard was withdrawn and is no longer available from ISO, although it may still be