Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
C (programming language)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== C99 === {{Main|C99}} The C standard was further revised in the late 1990s, leading to the publication of ISO/IEC 9899:1999 in 1999, which is commonly referred to as "[[C99]]". It has since been amended three times by Technical Corrigenda.<ref name="WG14">{{cite web |title=JTC1/SC22/WG14 β C |url=http://www.open-std.org/jtc1/sc22/wg14/ |work=Home page |publisher=ISO/IEC |access-date=June 2, 2011 |archive-date=February 12, 2018 |archive-url=https://web.archive.org/web/20180212100115/http://www.open-std.org/JTC1/SC22/WG14/ |url-status=live }}</ref> C99 introduced several new features, including [[inline function]]s, several new [[data type]]s (including <code>long long int</code> and a <code>complex</code> type to represent [[complex number]]s), [[variable-length array]]s and [[flexible array member]]s, improved support for [[IEEE 754]] floating point, support for [[variadic macro]]s (macros of variable [[arity]]), and support for one-line comments beginning with <code>//</code>, as in BCPL or C++. Many of these had already been implemented as extensions in several C compilers. C99 is for the most part backward compatible with C90, but is stricter in some ways; in particular, a declaration that lacks a type specifier no longer has <code>int</code> implicitly assumed. A standard macro <code>__STDC_VERSION__</code> is defined with value <code>199901L</code> to indicate that C99 support is available. [[GNU Compiler Collection|GCC]], [[Solaris Studio]], and other C compilers now{{when|date=August 2022}} support many or all of the new features of C99. The C compiler in [[Microsoft Visual C++]], however, implements the C89 standard and those parts of C99 that are required for compatibility with [[C++11]].<ref name="YTKIv">{{cite web |url=http://www.drdobbs.com/cpp/interview-with-herb-sutter/231900562 |title=Interview with Herb Sutter |website=[[Dr. Dobbs]] |author=Andrew Binstock |date=October 12, 2011 |access-date=September 7, 2013 |archive-date=August 2, 2013 |archive-url=https://web.archive.org/web/20130802070446/http://www.drdobbs.com/cpp/interview-with-herb-sutter/231900562 |url-status=live }}</ref>{{update inline|date=February 2021}} In addition, the C99 standard requires support for [[Identifier (computer languages)|identifiers]] using [[Unicode]] in the form of escaped characters (e.g. {{code|\u0040}} or {{code|\U0001f431}}) and suggests support for raw Unicode names.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)