Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
C (programming language)
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
C (programming language)
(section)
Add topic