++, --, compound assignment, remained a typeless language like BCPL int, char, arrays and pointers), array-to-pointer conversion, compilation to machine code struct, operators && and ||, preprocessor, portable I/O unsigned, long, union, enumerations, increased type safety volatile, enum, signed, void, locales const, function prototypes <wctype.h>, <wchar.h>, additions and changes to stream I/O, etc) <iso646.h>, bool, long long, <stdint.h>, <inttypes.h>, restrict, compound literals, variable length arrays, flexible array members, designated initializers, <fenv.h>, variadic macros, complex numbers, __func__, hexadecimal floating point format (%a), monetary formatting in lconv, isblank, concatenation of narrow and wide string literals, trailing comma in enumerations, empty arguments in function-like macros, STDC_* pragmas, va_copy, null return of tmpnam, null pointer in setvbuf, hh and ll length-specifiers in printf, snprintf, _Exit, <tgmath.h>, POSIX-like strftime specifiers inline, mix declarations and code, declarations in the init-clause of the for loop, // comments, universal character names in source code int gets <stdatomic.h>, <threads.h>, type-generic functions, alignas/alignof, noreturn, static_assert, analyzability extensions, extensions to complex and imaginary types, anonymous structures and unions, exclusive file open mode, quick_exit gets char16_t, char32_t, and <uchar.h> | Defect Reports fixed in C17 (54 defects) |
|---|
|
| Defect Reports fixed in C23 (? defects) |
|---|
| C++ documentation for History of C++ |
| 1. | The Development of the C Language by Dennis M. Ritchie |
| 2. | Rationale for the C99 standard |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/language/history