Untitled edit

The section "Compatibility with C++" needs more detailed explanation of the relationship between C99, TR1 and C++0x. Afog (talk) 19:52, 30 October 2008 (UTC)Reply

This article is lacking IMO edit

I think it needs more explanation as to what exactly the features are. Something along the lines of what C++0x has but maybe shorter. --Snaxe/fow (talk) 20:45, 17 November 2008 (UTC)Reply

Additional Compiler edit

MinGW?

dmelliott 08:28, 13 May 2009 (UTC) —Preceding unsigned comment added by Dmelliott (talkcontribs)

is GCC on Windows. —Preceding unsigned comment added by 69.166.47.137 (talk) 00:25, 30 March 2010 (UTC)Reply

I don't see the HP C compiler (for OpenVMS) listed. From what I've read it is likely in the "mostly" category, but I don't know what tests to run. One thing I found yesterday is that it allows declarations in a for statement. — Preceding unsigned comment added by 68.98.77.182 (talk) 17:43, 15 December 2013 (UTC)Reply

C89 vs C90 edit

The "previous version" is first mentioned as C89 then referred to as C90 194.237.142.7 (talk) 12:04, 3 August 2009 (UTC)Reply

Now clarified. — DAGwyn — Preceding unsigned comment added by 158.12.36.83 (talk) 21:50, 20 June 2011 (UTC)Reply

Undefined or Implementation Specific Behavior edit

there is a large number of things that are left open to implementation, for instance:

  • What to do on integer overflow; give error or start over at 0
  • please add something here if you know something--Glas(talk) 03:26, 21 December 2009 (UTC)Reply
C intentionally does not specify well-defined behavior for certain kinds of run-time errors, in order to avoid slowing down correct programs. That has nothing to do with C99 as such. — DAGwyn

Stuff removed from Boolean data type article edit

The following section was removed from the article Boolean data type:
begin removed text



The C99 version of C provides a built-in _Bool data type. It is large enough to store the values 0 and 1. When any scalar value is converted to _Bool, the result is 0 if the value is 0, otherwise 1.

If the <stdbool.h> is #included, the macros bool, true and false can be used to refer to _Bool, 1 and 0, respectively:

#include <stdbool.h>
int main()
{
  bool b = false;
  b = true;
}

These macros bool, true and false are unrelated to the C++ boolean type, and their use in programs that mix C and C++ may lead to incompatibilities.[citation needed]



end removed text
Is there a place for this text in the C99-related articles? Perhaps in the Wikibook? Thanks, and all the best, --Jorge Stolfi (talk) 23:28, 30 December 2009 (UTC)Reply

The current C99 article already specifies that some new data types were added. I don't know why the cited text was removed from the Boolean data type article. Unfortunately, even with _Bool C doesn't make much use of a Boolean type; for example, relational expressions have int type, not _Bool. — DAGwyn — Preceding unsigned comment added by 158.12.36.83 (talk) 21:59, 20 June 2011 (UTC)Reply

See Also edit

I don't really see why C++0x and the C++ Technical Report 1 are in an article about a C language specification. It seems to me they're completely unrelated. It makes some sense for C++0x to be in the C1X page for various reasons, but in the C99 page? That just seems a bit unusual to me. Especially given that there are links to C++ already in the article. 12.106.190.70 (talk) 18:33, 23 June 2011 (UTC)Reply

C++0x is relevant because it inherits a lot of features from the C99 version of the C language.1exec1 (talk) 14:16, 26 June 2011 (UTC)Reply
Then wouldn't it make more sense to only link the C99 page from the C++0x page, or perhaps to put a "derivatives" section in and list it there? It doesn't seem very obvious why it's there. 12.106.190.70 (talk) 17:01, 29 June 2011 (UTC)Reply

Declarations vs defnitions edit

"intermingled declarations and code: variable declaration is no longer restricted to file scope or the start of a compound statement (block)"

Isn't the term "variable declaration" not contradictory with what's explained in http://en.wikipedia.org/wiki/Declaration_(computer_programming? — Preceding unsigned comment added by 210.233.52.96 (talk) 04:30, 15 August 2011 (UTC)Reply


C99 floating point support edit

As IEEE 754 support was a major feature of C99 (and C11) I have added an annotated example showing some of the major features supporting IEEE 754 (this example builds under gcc except they use a non-standard __FLT_EVAL_METHOD__ instead of FLT_EVAL_METHOD (also gcc support for the IEEE 754 #pragmas is currently very buggy ). Brianbjparker (talk) 04:34, 25 February 2012 (UTC)Reply

The fact that GCC uses __FLT_EVAL_METHOD__ and not FLT_EVAL_METHOD is a feature: FLT_EVAL_METHOD must not be defined until a #include <float.h>; so <float.h> will typically have: #define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
BTW, I don't think that the Wikipedia article is correct about FLT_EVAL_METHOD. See discussion starting at: https://sourceware.org/bugzilla/show_bug.cgi?id=6981#c6
Vincent Lefèvre (talk) 00:49, 8 February 2014 (UTC)Reply

External links modified edit

Hello fellow Wikipedians,

I have just added archive links to one external link on C99. Please take a moment to review my edit. You may add {{cbignore}} after the link to keep me from modifying it, if I keep adding bad data, but formatting bugs should be reported instead. Alternatively, you can add {{nobots|deny=InternetArchiveBot}} to keep me off the page altogether, but should be used as a last resort. I made the following changes:

When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{Sourcecheck}}).

 Y An editor has reviewed this edit and fixed any errors that were found.

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—cyberbot IITalk to my owner:Online 05:10, 28 March 2016 (UTC)Reply

A Commons file used on this page or its Wikidata item has been nominated for speedy deletion edit

The following Wikimedia Commons file used on this page or its Wikidata item has been nominated for speedy deletion:

You can see the reason for deletion at the file description page linked above. —Community Tech bot (talk) 19:09, 18 August 2022 (UTC)Reply