C language: FAQ
发布时间:2026-08-22 | 浏览:7
Yes indeed, it was greenlighted by unanimous consent after review of document N3408 during the 72nd meeting of ISO/IEC JTC1/SC22/WG14 .
It is a language widely used for communication among people who do not share a native language. It serves as a bridge for understanding and can significantly shape cultural and linguistic landscapes. Examples of natural languages that have fulfilled this role include Latin in medieval Europe, Chinese in East Asia, or English in contemporary global communication. Similarly, in the realm of programming, C has inspired many other languages and is the most common target for Foreign Function Interfaces , establishing it as a lingua franca in the world of software development.
Traditionally, the logo of the C language is uppercase letter 'C' in font Helvetica of weight black . Typically colored in shades of blue and grey, such as Hit Grey , Cadet Grey , or LightSteelBlue .
The image you see on this website was based on SVG file uploaded to Wikimedia by Cobaiahackers on 2023-01-12 .
There already are great FAQ lists driven by the community (see resources ). The committee also has Change and Clarification Requests documents.
This FAQ, rather than being a language reference, aims to answer simple questions that don't really fit anywhere else.
Not exactly; C++ is a fork of C. To be more precise, it forked around K&R C , had C89, C90, and C95 merged almost fully, and truly began to diverge from "mainline" with C99 and C++98 onward. That being said, it was never a strict superset, as there has always been valid C code that would be invalid or behave differently in C++.
C xor C++ Programming (WG14: N3065; WG21: P2735R0)
C++ is not a superset of C
Incompatibilities Between ISO C and ISO C++
Compatibility of C and C++ - Wikipedia
How C is not a subset of C++
Where is C not a subset of C++? - Stack Overflow
Does C++ contain the entire C language? - Stack Overflow
N4860 (draft of C++20); Annex C (Compatibility), §C.5 (C++ and ISO C)
C++ is NOT a superset of C: tentative definitions, implicit conversions, implicit declarations &more
The C++ Programming Language, Special Edition; Appendix B - Compatibility
mono/mono#10085 - C/C++ incompatibilities
"C18" is a misnomer caused by the late publication of the C17 making the name of ISO publication ISO/IEC 9899:20 18 .
Similarly, ISO/IEC 9899:2024 should be referred to as "C23".
There are even documents referring to it as "C93", but it seems like the community settled on "C95".
As per the multiple agreements during committee meetings, as well as discussions on mailing list, the names of each revision are not directly derived from the name of the ISO document specifying them, nor from the year it was published, nor even necessarily from the year the work on them was finalized.
That being said, the names do follow the convention of "C" followed by last two digits of a year the document was sent for pre-publication review(s).