Jump to: navigation, search

The correct title of this article is __STDC_VERSION__ even though for technical reasons the wiki displays it without underscores.

__STDC_VERSION__ is a macro defined by the implementation (compiler + standard library) to indicate which version of the Standard it is complying with. It was not specified in the first (C90) version of the Standard, so legally a C90 compiler could set __STDC_VERSION__ to a value greater than 199409L; the likelihood of this is debatable. (Likewise, a compiler that doesn't claim conformance to any standard is entirely free to define __STDC_VERSION__ in any way it likes, and therefore relying only on this macro for conformance information is unwise.)

Standard __STDC_VERSION__
C89/C90 Not defined by the Standard (should be #undefd)
C94 199409L
C99 199901L

See also

Personal tools