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
_IONBF
abort
abs
acos
acosh
and
and_eq
asctime
asin
asinh
assert
atan
atan2
atanh
atexit
atof
atoi
atol
auto
BUFSIZ
bitand
bitor
break
break
break
bsearch
btowc
CHAR_
BIT CHAR_
MAX CHAR_
MIN CLOCKS_
PER_ SEC calloc
case
ceil
char
char
clearerr
clock
clock_t
compl
const
continue
cos
cosh
ctime
DBL_
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 default
default
defined
difftime
div
div_t
do
double
double
EDOM
EILSEQ
EOF
ERANGE
EXIT_
FAILURE EXIT_
SUCCESS else
enum
errno
exit
exp
extern
FILE *
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 fabs
fclose
feof
ferror
fflush
fgetc
fgetpos
fgets
fgetwc
fgetws
float
float
floor
fmod
fopen
for
fpos_t
fprintf
fputc
fputs
fputwc
fputws
fread
free
freopen
frexp
fscanf
fseek
fsetpos
ftell
fwide
fwprintf
fwrite
fwscanf
getc
getchar
getenv
gets
getwc
getwchar
gmtime
goto
HUGE_
VAL INT_
MAX INT_
MIN if
int
int
isalnum
isalpha
iscntrl
isdigit
isgraph
islower
isprint
ispunct
isspace
isupper
iswalnum
iswalpha
iswcntrl
iswctype
iswdigit
iswgraph
iswlower
iswprint
iswpunct
iswspace
iswupper
iswxdigit
isxdigit
jmp_
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 labs
ldexp
localeconv
localtime
log
long
long
long double
longjmp
MB_
CUR_ MAX MB_
LEN_ MAX main
malloc
mblen
mbrlen
mbrtowc
mbsinit
mbsrtowcs
mbstate_t
mbstowcs
mbtowc
memchr
memcmp
memcpy
memmove
memset
mktime
modf
NDEBUG
NULL
not
not_eq
offsetof
or
or_eq
perror
pow
printf
ptrdiff_t
putc
putchar
puts
putwc
putwchar
qsort
RAND_
MAX raise
rand
realloc
register
remove
rename
return
rewind
SCHAR_
MAX SCHAR_
MIN SEEK_
CUR SEEK_
END SEEK_
SET SHRT_
MAX SHRT_
MIN SIG_
DFL SIG_
ERR SIG_
IGN SIGABRT
SIGFPE
SIGILL
SIGINT
SIGSEGV
SIGTERM
scanf
setbuf
setjmp
setlocale
setvbuf
short
short
sig_
atomic_t signal
signed
signed char
sin
sinh
size_t
sizeof
sprintf
sqrt
srand
sscanf
static
static
static
static
stderr
stdin
stdout
strcat
strchr
strcmp
strcoll
strcpy
strcspn
strerror
strftime
strlen
strncat
strncmp
strncpy
strpbrk
strrchr
strspn
strstr
strtod
strtok
strtol
strtoul
struct
struct lconv
struct tm
strxfrm
switch
swprintf
swscanf
system
TMP_
MAX tan
tanh
time
time_t
tmpfile
tmpnam
tolower
toupper
towctrans
towlower
towupper
typedef
UCHAR_
MAX UINT_
MAX ULONG_
MAX USHRT_
MAX ungetc
ungetwc
union
unsigned
unsigned
unsigned char
unsigned long
unsigned short
va_
arg va_
end va_
list va_
start vfprintf
vfwprintf
vfwscanf
void
void
void
void
void *
volatile
vprintf
vsprintf
vswprintf
vwprintf
WCHAR_
MAX WCHAR_
MIN WEOF
wchar_t
wcrtomb
wcscat
wcschr
wcscmp
wcscoll
wcscpy
wcscspn
wcsftime
wcslen
wcsncat
wcsncmp
wcsncpy
wcspbrk
wcsrchr
wcsrtombs
wcsspn
wcsstr
wcstod
wcstok
wcstol
wcstombs
wcstoul
wcsxfrm
wctob
wctomb
wctrans
wctrans_t
wctype
wctype_t
while
wint_t
wmemchr
wmemcmp
wmemcpy
wmemmove
wmemset
wprintf
wscanf
xor
xor_eq