Compare with earlier versions:
Compare with later versions:
C95 defines 18 standard headers and specifies 416 names. Among them, the macro
__STDC_ expands to
199409L.
This modification dealt with several library issues, mainly adding support for wide characters.
<iso646.h> was introduced
to allow some common operators to be expressed as words,
avoiding certain punctuation characters.
<wchar.h> was introduced to
provide wide-character analogues of many of the I/O and
string functions in <stdio.h> and <string.h>.
<wctype.h> was introduced
to provide wide-character analogues of the functions in
<ctype.h>.
Digraphs were also added, but dropped in later versions.
A program can identify an environment conforming at least
to C95 by the presence of
__STDC__ with the value
1 and the presence of __STDC_ with the
minimum value 199409L. It can further
determine that it does not conform to any later version by
detecting that exact value.
Headers defined in C95
Names specified in C95
####define#elif#else#endif#error#if#ifdef#ifndef#include#line#pragma#undef__DATE____FILE____LINE____STDC____STDC_HOSTED__ __STDC_VERSION__ __TIME___IOFBF_IOLBF_IONBFabortabsacosacoshandand_eqasctimeasinasinhassertatanatan2atanhatexitatofatoiatolautoBUFSIZbitandbitorbreakbreakbreakbsearchbtowcCHAR_BIT CHAR_MAX CHAR_MIN CLOCKS_PER_ SEC calloccaseceilcharcharclearerrclockclock_tcomplconstcontinuecoscoshctimeDBL_DECIMAL_ DIG DBL_DIG DBL_EPSILON DBL_MANT_ DIG DBL_MAX DBL_MAX_ 10_ EXP DBL_MAX_ EXP DBL_MIN DBL_MIN_ 10_ EXP DBL_MIN_ EXP DECIMAL_DIG defaultdefaultdefineddifftimedivdiv_tdodoubledoubleEDOMEILSEQEOFERANGEEXIT_FAILURE EXIT_SUCCESS elseenumerrnoexitexpexternFILE *FILENAME_MAX FLT_DECIMAL_ DIG FLT_DIG FLT_EPSILON FLT_MANT_ DIG FLT_MAX FLT_MAX_ 10_ EXP FLT_MAX_ EXP FLT_MIN FLT_MIN_ 10_ EXP FLT_MIN_ EXP FLT_RADIX FLT_ROUNDS FOPEN_MAX fabsfclosefeofferrorfflushfgetcfgetposfgetsfgetwcfgetwsfloatfloatfloorfmodfopenforfpos_tfprintffputcfputsfputwcfputwsfreadfreefreopenfrexpfscanffseekfsetposftellfwidefwprintffwritefwscanfgetcgetchargetenvgetsgetwcgetwchargmtimegotoHUGE_VAL INT_MAX INT_MIN ifintintisalnumisalphaiscntrlisdigitisgraphislowerisprintispunctisspaceisupperiswalnumiswalphaiswcntrliswctypeiswdigitiswgraphiswloweriswprintiswpunctiswspaceiswupperiswxdigitisxdigitjmp_buf L_tmpnam LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME LDBL_DECIMAL_ DIG LDBL_DIG LDBL_EPSILON LDBL_MANT_ DIG LDBL_MAX LDBL_MAX_ 10_ EXP LDBL_MAX_ EXP LDBL_MIN LDBL_MIN_ 10_ EXP LDBL_MIN_ EXP LONG_MAX LONG_MIN labsldexplocaleconvlocaltimeloglonglonglong doublelongjmpMB_CUR_ MAX MB_LEN_ MAX mainmallocmblenmbrlenmbrtowcmbsinitmbsrtowcsmbstate_tmbstowcsmbtowcmemchrmemcmpmemcpymemmovememsetmktimemodfNDEBUGNULLnotnot_eqoffsetoforor_eqperrorpowprintfptrdiff_tputcputcharputsputwcputwcharqsortRAND_MAX raiserandreallocregisterremoverenamereturnrewindSCHAR_MAX SCHAR_MIN SEEK_CUR SEEK_END SEEK_SET SHRT_MAX SHRT_MIN SIG_DFL SIG_ERR SIG_IGN SIGABRTSIGFPESIGILLSIGINTSIGSEGVSIGTERMscanfsetbufsetjmpsetlocalesetvbufshortshortsig_atomic_t signalsignedsigned charsinsinhsize_tsizeofsprintfsqrtsrandsscanfstaticstaticstaticstaticstderrstdinstdoutstrcatstrchrstrcmpstrcollstrcpystrcspnstrerrorstrftimestrlenstrncatstrncmpstrncpystrpbrkstrrchrstrspnstrstrstrtodstrtokstrtolstrtoulstructstruct lconvstruct tmstrxfrmswitchswprintfswscanfsystemTMP_MAX tantanhtimetime_ttmpfiletmpnamtolowertouppertowctranstowlowertowuppertypedefUCHAR_MAX UINT_MAX ULONG_MAX USHRT_MAX ungetcungetwcunionunsignedunsignedunsigned charunsigned longunsigned shortva_arg va_end va_list va_start vfprintfvfwprintfvfwscanfvoidvoidvoidvoidvoid *volatilevprintfvsprintfvswprintfvwprintfWCHAR_MAX WCHAR_MIN WEOFwchar_twcrtombwcscatwcschrwcscmpwcscollwcscpywcscspnwcsftimewcslenwcsncatwcsncmpwcsncpywcspbrkwcsrchrwcsrtombswcsspnwcsstrwcstodwcstokwcstolwcstombswcstoulwcsxfrmwctobwctombwctranswctrans_twctypewctype_twhilewint_twmemchrwmemcmpwmemcpywmemmovewmemsetwprintfwscanfxorxor_eq