C18 (C standard revision)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

C18 is the informal name for ISO/IEC 9899:2018,[1] the most recent standard for the C programming language, published in June 2018. It replaced C11 (standard ISO/IEC 9899:2011).[2] It has been informally named as C17 too.

GCC 8.1.0[3] and LLVM Clang 7.0.0[4] support C18.

C18 will be superseded by C2x.[5]

Changes from C11[edit]

C18 addressed defects in C11 without introducing new language features.[2]

The __STDC_VERSION__ macro is increased to the value 201710L.

C18 is a “bugfix release” of the C standard. Whereas the intention of the C working group (WG14) has been that this release does not introduce normative changes (but one), it brings a lot of clarifications all over the place. By adopting this version, some features as implemented by some compilers may change if their interpretation of C11 was different because of an unfortunate ambiguity.[6]

See also[edit]


  1. ^ "ISO/IEC 9899:2018 - Information technology -- Programming languages -- C". www.iso.org.
  2. ^ a b "The Standard - C". www.iso-9899.info.
  3. ^ https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/C-Dialect-Options.html#index-std-1
  4. ^ http://releases.llvm.org/7.0.0/tools/clang/docs/UsersManual.html#differences-between-various-standard-modes
  5. ^ http://www.open-std.org/jtc1/sc22/wg14/www/wg14_document_log.htm
  6. ^ https://gustedt.wordpress.com/2018/04/17/c17/

External links[edit]

Preceded by
C language standards Succeeded by