Talk:C99

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

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}}).

checkY 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]