C - AshokBhat/notes GitHub Wiki
About
- Programming language
Major versions
C99
-
Adopted in 2000
-
New built-in data types:
long long
_Bool
_Complex
_Imaginary
-
New core language features:
- static array indices
- designated initializers
- compound literals
- variable-length arrays
- flexible array members
- variadic macros
restrict
keyword
-
New library headers
stdint.h
tgmath.h
fenv.h
complex.h
-
Improved compatibility with several C++ features
- inline functions
- single-line comments with
//
- mixing declarations and code
- universal character names in identifiers
-
Removed several dangerous C89 language features
- implicit function declarations
- implicit int
C11
- C11 mainly standardizes features already supported by common contemporary compilers
- Includes a detailed memory model to better support multiple threads of execution
- Makes certain C99 features optional, to make it easier to comply with the core language standard
C18
- Standardized in 2018
- Addressed defects in C11 without introducing new language features.
C2x
- Informal name for the next major C language standard revision
- Not expected to be voted on until 2021
See also
- [Python]] ](/AshokBhat/notes/wiki/[R) | [Rust]] | [Javascript]] ](/AshokBhat/notes/wiki/[C) | [C++]] | Go