ANSI C Rationale                     A B C D E F G H IJ K L M N O P Q R S T U V W

Index


1984 /usr/group Standard, 1.5, 4.1

A

abort function,  4.2.1.1, 4.10.4.1
abs function,  4.10.6
abstract machine,  2.1.2.3
Ada,  2.2.1
agreement point,  2.1.2.3, 3.3
aliasing,  3.3
alignment,  1.6
alloca function, nonstandard,  4.10.3
ambiguous expression,  3.3.16
ANSI X3.64 character set standard,  3.1.3.4
ANSI X3L2 Committee (Codes and Character Sets),  2.2.2
argc and argvparameters to main,  2.1.2.2
argument promotion,  3.3.2.2
as if principle,  2.1, 2.1.1.1, 2.1.1.2, 2.1.2.3, 2.2.1, 3.2.1.5, 3.3, 3.7.1, 4.9.3, 4.9.4.3
ASCII,  2.2.1, 2.2.1.1, 2.2.2, 3.1.3.4, 4.3, 4.4, 4.12.3.1
asctime function,  4.12.3.1
asm keyword, nonstandard,  3.1.1
assert macro,  4.2.1.1
<assert.h> header,  4.2
associativity,  3.3
atan2 function,  4.5.2.4
atexit function,  2.1.2.2, 4.10.4.2, 4.6.2.1
atof function,  4.10.1.1
atoi function,  4.10.1.1
atol function,  4.10.1.1

B

Backus-Naur Form,  3
benign redefinition,  3.8.3
binary numeration systems,  3.1.2.5, 3.3.3.3
binary streams,  4.9.2
bit fields,  3.5.2.1
bit,  1.6
break keyword,  3.6.6.2
byte,  1.6 3.3.3.4

C

calloc function,  4.10.3.1
case ranges,  3.6.4.2
cfree function,  4.10.3.2
clock function,  4.12.2.1
clock_t type,  4.12.1
codeset,  2.2.1.1, 4.4
collating sequence,  2.2.1.1
comments,  3.1.9
common extension,  3.1.1, 3.1.2.2, 3.1.4, 5
common storage,  3.1.2.2
compatible types,  3.1.2.6, 3.5.4.2
compliance,  1.7
composite type,  3.5.4.2, 3.1.2.6
concatenation,  3.1.4
conforming implementation, freestanding,  1.7
conforming implementation, hosted,  1.7
conforming program,  1.1
constant expressions,  3.4
const keyword,  3.1.1
constraint error,  3.3.2.3
continue keyword,  3.6.6.2
control character,  4.3.1
conversions,  3.2
cross-compilation,  2, 3.1.3, 3.4, 4.1.4
C++,  3.5.4.1, 3.5.4.3, 3.5.4
<ctype.h> header,  4.3
curses,  4.1

D

data abstraction,  3.3.3.2
__DATE__ macro,  3.8.8
DEC PDP-11,  1.1
decimal-point character,  4.1.1
declarations,  3.5
defined preprocessing operator,  3.4 3.8.1
diagnostic,  1.1, 2.1.1.3, 3.2.1.1, 3.8.3, 3.8.4
difftime function,  4.12.2.2
div function,  3.3.5, 4.10.6.2

E

domain error,  4.5.1
EBCDIC,  2.2.2, 3.1.3.4, 4.4
#elif 3.8.1
#else 3.8.1
#endif 3.8.1, 3.8.1
entry keyword, nonstandard,  3.1.1
enum keyword,  3.1.1, 3.5.2
enumeration,  3.1.2.5, 3.1.3.3, 3.5
EOF macro,  4.3
errno macro,  4.1.3, 4.5.1, 4.9.10.4
<errno.h> header,  4.1.3
erroneous program,  2.1.1.3
#error 3.8.5
executable program,  2.1.1.1
exit function,  2.1.2.2, 4.10.4.3, 4.10.4.5
expressions,  3.3
external identifiers,  3.1.2
external linkage,  2.1.1.1

F

fclose function,  4.9
fflush function,  4.9.5.2, 4.9.5.3
fgetc function,  4.9.3, 4.9.7.1
fgetpos function,  4.9.9.1
fgets function,  4.9.7.2
file pointer,  4.9
file position indicator,  4.9.2, 4.9.9.4
__FILE__ macro,  3.8.4, 3.8.8
FILE type,  4.9.7.11
FILENAME_MAX macro,  4.9.1
<float.h> header,  2.2.4.2.2, 4.1.4
fmod function,  3.3.5, 4.5.6.4
fopen function,  4.9, 4.9.5.3
fortran keyword,  3.1.1
FORTRAN,  3.1.2.2, 3.5.4, 4.10.6.2
FORTRAN-to-C translation,  2.2.4.2.2, 3.3, 4.5.1
fputc function,  4.9.3
fread function,  4.9 4.9.8.1
frexp function,  4.5.4.2
fscanf function,  4.9.6.2
fseek function,  4.9, 4.9.2, 4.9.5.3, 4.9.9.2
fsetpos function,  4.9.5.3
ftell function,  4.9.2
full expression,  2.1.2.3
function definition,  3.7.1
function prototypes,  3.5.4.3
future directions,  3.9
fwrite function,  4.9

G

getc function,  4.1.6, 4.9.7.5
getenv function,  4.10.4.4
gmtime function,  4.12.1, 4.12.3.3
GMT,  4.12.3.3
goto keyword,  3.6.2
Gray code,  3.1.2.5
grouping,  3.3

H

header names,  3.1.7
hosted environment,  2.1.2.2
HUGE_VAL macro,  4.5

IJ

IEEE 1003,  1.5, 4.7.2.1
IEEE 754 floating point standard,  2.2.4.2.2 4.5.1
IEEE P1003,  4.9
IEEE P854,  4.1.4, 4.5, 4.5.4.4, 4.5.5.2
#if 2 3.4
implementation-defined behavior,  1.6, 3.1.3.4, 3.5.2.1, 4.5, 4.5.1, 4.5.5.2, 4.7.1.1, 4.9., 4.9.4.2
#include 3.8.2
infinity,  4.9.6.1
integral constant expression,  3.4
integral promotions,  3.2.1.1
integral widening conversions,  3.5.4.3
interactive devices,  2.1.2.3
interleaving,  3.3
internationalization,  4.12.3.1
invalid pointers,  3.2.2.3
isascii function,  4.3
ISO,  2.2.1.1
ISO 646,  2.2.1.1
isspace function,  4.3.1.9, 4.9.6.2
jmp_buf type,  4.6

K

Kernighan, Brian,  1.1, 1.5
kill function,  4.7.2.1

L

labels,  3.6.1
ldexp function,  4.5.4.2
ldiv function,  3.3.5, 4.10.6.2
lexical elements,  3.1
libraries,  2.1.1.1
<limits.h> header,  2.2.4.2.1, 4.1.4
__LINE__ macro,  3.8.4, 3.8.8
linkage,  3.1.2.1 3.1.2.2
linked,  2.1.1.1
locale,  4.3.1.2
localeconv function,  4.4.2.1
<locale.h> header,  4.4
locale-specific,  4.3.1.2, 4.4, 4.4.1.1, 4.11.4.3
log function,  4.5.4.4
long double type,  3.1.2.5, 3.1.3.1, 3.5.2, 4.9.6.1
longjmp function,  2.2.3, 4.6.1.1
lvalue,  1.6, 3.2.2.1, 3.3, 3.3.2.3, 3.3.2.4, 3.3.16.2

M

machine generation of C,  2.1.1.2, 3.5, 3.5.4, 3.5.7, 3.6.2
main function,  2.1.2.2
manifest constant,  4.5
mantissa,  2.2.4.2.2
matherr function, nonstandard,  4.5.1
<math.h> header,  4.10.6, 4.5
memchr function,  4.11.1
memcmp function,  4.11.1
memcpy function,  4.11.1, 4.11.2
memmove function,  4.11.2
memset function,  4.11.1
mktime function,  4.12.2.3
modf function,  4.5.4.2
modifiable lvalue,  3.2.2.1
multibyte characters,  1.6, 2.2.1.2, 4.10.7
multi-processing,  4.7.2.1

N


name space,  3.1.2.1
new-line,  2.2.2
not-a-number,  4.9.6.1
null pointer constant,  4.1.5
NULL macro,  3.3.9, 4.1.5

O

object,  1.6
obsolescent features,  3.1.2, 3.5, 3.9.4
offsetof macro,  3.5.4.2, 4.1.5
ones-complement,  2.2.4.2.1
onexit function,  4.10.4.2
optimization,  3.5.1
order of evaluation,  3.3

P

Pascal,  3.1.2.5, 3.6.4.2
perror function,  4.9.10.4, 4.11.6.2
phases of translation,  2.1.1.2
pointer subtraction,  3.3.6
POSIX,  1.5 4.7.2.1
#pragma 3.8.6
precedence,  3.3
preprocessing,  2, 2.1.1.2, 3.1, 3.1.4, 3.1.5, 3.1.8, 3.1.9, 3.8, 4.1.4, 4.1.6
primary expression,  3.3.1
printf function,  3.1.2.5, 4.1.6, 4.8
printing character,  4.3.1
program startup,  2.1.2, 3.4
prototypes,  3.7.1, 3.9.4
ptrdiff_t type,  3.3.3.4, 3.3.6, 4.1.5
pure function,  3.3.16
putc function,  4.1.6, 4.9.7.5
puts function,  4.9.7.10

Q

quality of implementation,  2.1.1.3
quiet change,  1.1 3.1.1

R

raise function,  4.7.2.1
rand function,  4.10.2.1
range error,  4.5.2.7
register keyword,  3.5.1
remove function,  4.9.4.1
rename function,  4.9.4.2
repertoire,  2.2.1.1
rewind function,  4.9.5.3, 4.9.9.5
Ritchie, Dennis M.,  1.1, 1.5, 3.1.2.2

S

safe evaluation,  4.1.6
same type,  3.1.2.6
scanf function,  4.1.6, 4.8
scope,  3.1.2.1
sequence points,  2.1.2.3, 3.3
sequenced expression,  3.3.16
sequencing,  2.1.2.3
setbuf function,  4.9.2, 4.9.5.5
setjmp function,  4.6.1.1
<setjmp.h> header,  4.6
setlocale function,  4.3.1.2, 4.4.1.1
setvbuf function,  4.9, 4.9.1, 4.9.2, 4.9.5.3, 4.9.5.5, 4.9.5.6
side effect,  3.3.16
SIGABRT macro,  4.10.4.1
sig_atomic_t type,  2.2.3
SIGILL macro,  4.7.1.1
signal function,  2.2.3, 4.1.5, 4.7.1.1
<signal.h> header,  2.2.3, 4.7
signal,  2.1.2.3, 2.2.3, 3.1.2.4, 4.10.4.1, 4.10.4.2, 4.6.2.1
signed keyword,  3.1.1, 3.5.2
significand,  2.2.4.2.2
sign-magnitude,  2.2.4.2.1
SIGTERM macro,  4.10.4.2
sizeof keyword,  1.6, 3.3.3.4, 3.3.6, 3.4
size_t type,  3.3.3.4, 4.1.5, 4.9.8.1, 4.10.3.1, 4.11.6.3
source file,  2.1.1.1
spirit of C,  3.3.9
sprintf function,  4.5
sscanf function,  4.9.6.6
statements,  3.6
static initializers,  3.4
<stdarg.h> header,  4.8
__STDC__ macro,  3.8.8
<stddef.h> header,  3.3.3.4, 3.3.6, 4.1.5
<stdio.h> header,  4.9.1, 4.9
<stdlib.h> header,  4.10
storage duration,  3.1.2.1
strcoll function,  4.11.4.3
streams,  4.9.2
strerror function,  4.9.10.4, 4.11.6.2
strftime function,  4.12.3.5
strictly conforming program,  1.1, 1.7, 2.1.2.2
<string.h> header,  4.11
stringizing,  3.8.3.2
strlen function,  4.11.6.3
strncat function,  4.11.3.2
strncpy function,  4.11.2.4
strstr function,  4.11.5.7
strtod function,  4.10.1.4
strtok function,  4.11.5.8
strtol function,  4.10.1.4
structures,  3.5.2.1
strxfrm function,  4.11.4.5
system function,  4.10.4.5

T

tags,  3.5
text streams,  4.9.2
__TIME__ macro,  3.8.8
time function,  4.12.2.4
<time.h> header,  4.12
time_t type,  4.12.1
tm_isdst 4.12.1
tmpfile function,  4.9.4.3
tmpnam function,  4.9.4.4
token pasting,  3.1.5, 3.8.3.3
trigraph sequences,  2.2.1.1
twos-complement,  3.1.2.5
type modifier,  3.5.4
typedef keyword,  3.5.4.1, 3.5.6, 3.7.1

U

#undef 4.1.6 4.8
undefined behavior,  1.6, 2.1.1.3, 2.1.2.3, 3.1.2.1, 3.1.2.5, 3.1.3.4, 3.3.2.2, 3.3.4, 4.8, 4.8.1.1, 4.10.4.4, 4.10.6.2
ungetc function,  4.9.6.2, 4.9.7.11
UNIX,  1.1, 3.2.1.1, 3.8.2, 4.1, 4.5.1, 4.7.1.1, 4.7, 4.8, 4.9.2, 4.9.4.1, 4.9, 4.9.5.2, 4.9.6.7
unlink function,  4.9.4.1
unsequenced expression,  3.3.16
unsigned preserving,  3.2.1.1
unspecified behavior,  1.6, 3.8.4

V

va_arg macro,  4.8
va_list type,  4.8.1.1, 4.8
value preserving,  3.2.1.1
<varargs.h> header,  4.8
va_start macro,  4.8, 4.8.1.1
VAX/VMS,  4.5.1
vfprintf function,  4.9.6.1, 4.9.6.7
void * type,  3.1.2.5, 3.2.2.3, 3.3.15, 3.3.4, 3.3.9, 4.9.6.1
void keyword,  3.1.1 3.5.2
volatile keyword,  3.1.1
vprintf function,  4.9.6.7
vsprintf function,  4.9.6.7

W

wchar_t type,  4.1.5
white space,  3.1
wide character,  3.1.3.4
wide string,  3.1.4
widened types,  4.1.6


ANSI C Rationale                                 Markup by jutta@cs.tu-berlin.de, 1994