Index

postfix
Prefix ++ and – – Operators

! operator
Unary ! and ~ Operators

!= operator
Equality Operators

#pragma ident version
Preprocessing Directives (F.3.13)

#pragma int_to_unsigned identifier
Preprocessing Directives (F.3.13)

#pragma intrinsic
Preprocessing Directives (F.3.13)

#pragma no_side_effect
Preprocessing Directives (F.3.13)

#pragma once
Preprocessing Directives (F.3.13)

#pragma pack
Preprocessing Directives (F.3.13)

#pragma weak
Preprocessing Directives (F.3.13)

% operator
Multiplicative Operators

%p conversion
in fscanf function
Streams and Files

%p conversion
in fprintf function
Streams and Files

& operator
Address-of and Indirection Operators
Bitwise AND Operator
fields and
Bitfields

&& operator
Logical AND Operator

&minus
Postfix ++ and – –
Prefix ++ and – – Operators
Postfix ++ and – –
Prefix ++ and – – Operators
Prefix ++ and – – Operators

&space
Meaning of Declarators

< operator
Relational Operators

<< operator
Shift Operators

<= operator
Relational Operators

–32 mode
Integer Constants

–ansi compiler option
external names and
Data Area Name Changes
macros
Replacement of Macro Arguments in Strings
string literals
Replacement of Macro Arguments in Strings
tokens
Token Concatenation

–ansi switch to cc>
Compiling ANSI Programs

–cckr compiler option
Compiling ANSI Programs
Replacement of Macro Arguments in Strings
external names and
Data Area Name Changes
tokens
Token Concatenation

–common compiler option
Changes in the Linkage of Identifiers

–float compiler option
Conversions of Float and Double
effect on conversions
Conversions of Float and Double
type promotions
Type Promotion in Arithmetic Expressions

–fullwarn compiler option
Compiling ANSI Programs
scope
Scoping Differences
type promotions
Type Promotion and Floating-Point Constants

–I compiler option
Preprocessing Directives (F.3.13)

–lc switch to cc
Compiling ANSI Programs

–lm switch to cc
Compiling ANSI Programs

–nostdinc compiler option
Preprocessing Directives (F.3.13)

–use_readwrite_const
Writable String Literals (F.5.5)

–wlint compiler option
Compiling ANSI Programs

–xansi compiler option
external names and
Data Area Name Changes

–xansi switch to cc
Compiling ANSI Programs

* operator
Multiplicative Operators

+ operator
Unary + and – Operators
Additive Operators

++ operator
Prefix ++ and – – Operators
Postfix ++ and – –

+= operator
Compound Assignment

, operator
Comma Operator

- character
in fscanf function
Streams and Files

- operator
Unary + and – Operators
Additive Operators

-= operator
Compound Assignment

32-bit mode
Preprocessor Changes
bitfields
Bitfields
diagnostics
Translation (F.3.1)
double-word boundary
Structures, Unions, Enumerations, and Bitfields (F.3.9)
integer
Arrays and Pointers (F.3.7)
integer sizes
Integers (F.3.5)
long double
Structures, Unions, Enumerations, and Bitfields (F.3.9)
LONGLONG macro
Integers (F.3.5)
pointers
Additive Operators
Arrays and Pointers (F.3.7)
register specifier
Registers (F.3.8)
sizeof
The sizeof Unary Operator
type differences
Integer and Floating Point Types
unions
Structures, Unions, Enumerations, and Bitfields (F.3.9)

64-bit mode
Cast Operators
bitfields
Bitfields
diagnostics
Translation (F.3.1)
integer
Arrays and Pointers (F.3.7)
integer sizes
Integers (F.3.5)
long double
Structures, Unions, Enumerations, and Bitfields (F.3.9)
pointers
Arrays and Pointers (F.3.7)
Additive Operators
pragmas
Preprocessing Directives (F.3.13)
quad-word boundary
Structures, Unions, Enumerations, and Bitfields (F.3.9)
register specifier
Registers (F.3.8)
sizeof
The sizeof Unary Operator
type differences
Integer and Floating Point Types
unions
Structures, Unions, Enumerations, and Bitfields (F.3.9)

= operator
Assignment Using = (Simple Assignment)

== operator
Equality Operators

> operator
Relational Operators

>= operator
Relational Operators

>> operator
Shift Operators

? operator
Conditional Operator

^ operator
Bitwise Exclusive OR Operator

__DATE__
Preprocessing Directives (F.3.13)

__TIME__
Preprocessing Directives (F.3.13)

abort function
effect on temporary files
The abort Function

acpp
changes
Preprocessor Changes

additive operators
pointers and
Additive Operators

address constant
Constant Expressions

address-of operator
Address-of and Indirection Operators
fields and
Bitfields

alignment
structures
Structures, Unions, Enumerations, and Bitfields (F.3.9)

AND operator
bitwise
Bitwise AND Operator
logical
Logical AND Operator

ANSI C
Preprocessing Directives (F.3.13)
conversion rules
ANSI C Conversion Rules
value preserving integer promotion
Conversions of Characters and Integers

ANSI C standard header files
Standard Headers

append mode stream
initial file position
Streams and Files

argc
Environment (F.3.2)

argument promotions
Function Calls

argument type promotions
changes
Argument Type Promotions

arguments
passing
Function Calls
side effects
Practices to Avoid

argv
Environment (F.3.2)

arithmetic constant expressions
Constant Expressions

arithmetic conversions
Arithmetic Conversions
Usual Arithmetic Conversions

arithmetic expressions
Type Promotion in Arithmetic Expressions

arithmetic types
Derived Types

arithmetic value
64-bit mode
Cast Operators

array
type required to hold maximum size
Arrays and Pointers (F.3.7)

array declarators
Array Declarators

assert
Library Functions (F.3.14)
diagnostic
Library Functions (F.3.14)

assignment operators
Assignment Operators
+=
Compound Assignment
-=
Compound Assignment
=
Assignment Using = (Simple Assignment)

atan2
Library Functions (F.3.14)

atan2f
Library Functions (F.3.14)

auto
Storage-class Specifiers

auto keyword
Storage-class Specifiers

auto storage class
Storage-class Specifiers

automatic storage duration
Storage Duration

binary streams
null characters in
Streams and Files

bitfield
diagnostics
Non-int Bit-Field Types (F.5.8)
integral type
Non-int Bit-Field Types (F.5.8)

bitfields
Bitfields
32-bit mode
Bitfields
64-bit mode
Bitfields
integer types
Recommended Practices
order of allocation
Structures, Unions, Enumerations, and Bitfields (F.3.9)
signedness of
Structures, Unions, Enumerations, and Bitfields (F.3.9)
spanning unit boundary
Bitfields
straddling int boundaries
Structures, Unions, Enumerations, and Bitfields (F.3.9)

bits
bitfields
Bitfields

bits per character
Characters (F.3.4)

bitwise AND operator
Bitwise AND Operator

bitwise operations
signed integers
Integers (F.3.5)

bitwise OR operator
exclusive
Bitwise Exclusive OR Operator
inclusive
Bitwise Inclusive OR Operator

blanks
Lexical Conventions

block scope
Block Scope

block statements
Compound Statement or Block

break statements
The break Statement
The switch Statement

C library
ANSI
Compiling ANSI Programs
shared
Compiling ANSI Programs

calloc
Memory Allocation

case distinctions
in identifiers
Identifiers (F.3.3)

case label
The switch Statement

case values
maximum number of
Statements (F.3.12)

cast operators
Cast Operators

casting
pointer to a function
Function Pointer Casts (F.5.7)

cc
<Italics
Compiling ANSI Programs
–ansi mode
Compiling ANSI Programs
–cckr option
Compiling ANSI Programs
–fullwarn option
Compiling ANSI Programs
–lc option
Compiling ANSI Programs
–wlint option
Compiling ANSI Programs
–xansi mode
Compiling ANSI Programs
traditional C option
Compiling ANSI Programs

cc switches
Compiling ANSI Programs

char
Character Types
Type Specifiers
default sign
Characters (F.3.4)
unsigned vs. "plain"
Characters (F.3.4)

character
space
Translation (F.3.1)
white space
Translation (F.3.1)

character constant
Preprocessing Directives (F.3.13)

character constants
Character Constants
wide
Character Constants

character set
Characters (F.3.4)

characters
Characters (F.3.4)
conversions to integer
Conversions of Characters and Integers
integer constants
Characters (F.3.4)
multibyte
Characters (F.3.4)
Character Types
Characters (F.3.4)
non-graphical
Special Characters
number of bits
Characters (F.3.4)
shift states
Characters (F.3.4)
source set vs. execution set
Characters (F.3.4)
special
Special Characters
type
Character Types
wide
Characters (F.3.4)
initialization
Initialization of Aggregates

CHRCLASS environment variable
Library Functions (F.3.14)

clock function
Timezones and the clock Function.

coding hints
Helpful Programming Hints

coding practices
discouraged
Practices to Avoid
recommended
Recommended Practices

comma operator
Comma Operator

comment
Comments

compatibility rules
changes
Areas of Major Change

compatible types
changes
Compatible Types

compilation
Compiling ANSI Programs
Data Area Name Changes

compound assignment
Compound Assignment

compound statements
Compound Statement or Block
scope of declarations
Compound Statement or Block

conditional operator
Conditional Operator

conforming programs
What Is ANSI C?

const
Type Qualifiers

const object
Recommended Practices

const type qualifier
qualifiers
const
Type Qualifiers

constant expression
Preprocessing Directives (F.3.13)
arithmetic
Constant Expressions

constant expressions
Constants
address constant
Constant Expressions
integral
Constant Expressions

constants
Primary Expressions
Lexical Conventions
character
Character Constants
enumeration
Enumeration Constants
floating
Floating Constants
integer
Integer Constants
long double precision
Conversions of Float and Double
types of
Constants
wide character
Character Constants

continue statements
The for Statement
The continue Statement
The switch Statement

controlling expression
definition
Selection Statements

conversions
Operator Conversions
arithmetic
Usual Arithmetic Conversions
Arithmetic Conversions
character
Conversions of Characters and Integers
floating-point
Conversions of Float and Double
function designators
Conversion of lvalues and Function Designators
integer
Conversion of Unsigned Integers
promotions
Integral Promotions
lvalues
Conversion of lvalues and Function Designators
pointer
Conversion of Pointers and Integers
pointers
Conversion of Pointers
rules
ANSI C
ANSI C Conversion Rules
traditional C
Traditional C Conversion Rules
void
Conversion of Void Objects

cpp
changes
Preprocessor Changes

data area
names
changes
Data Area Name Changes

date
availability
Preprocessing Directives (F.3.13)

daylight saving time
Timezones and the clock Function.

declarations
as definitions
Declarations
enumerations
Enumeration Declarations
implicit
Implicit Declarations
multiple
Declarations
structure
Structure and Union Declarations
union
Structure and Union Declarations

declarators
array
Array Declarators
maximum number of
Declarators (F.3.11)
meaning
Meaning of Declarators
pointer
Pointer Declarators
restrictions
Restrictions on Declarators
syntax
Declarators

decrement operator
Prefix ++ and – – Operators

default argument promotions
Function Calls

default labels
The switch Statement

definition
declaration
Declarations

definitions
external
External Definitions

denoting a bitfield
The sizeof Unary Operator

derived types
Derived Types

device
interactive
Environment (F.3.2)

diagnostics
classes
Translation (F.3.1)
Translation (F.3.1)
control
Translation (F.3.1)
identification errors
Translation (F.3.1)
return codes
Translation (F.3.1)
Translation (F.3.1)

directives
preprocessing
Preprocessing Directives (F.3.13)

disambiguating identifiers
changes
Changes in Disambiguating Identifiers

disambiguating names
changes
Areas of Major Change

discouraged coding practices
Practices to Avoid

division
sign of remainder
Integers (F.3.5)

division by zero
Expressions and Operators

do statements
The do Statement

domain errors
return values
Library Functions (F.3.14)

double
Integer and Floating Point Types
Floating Point (F.3.6)
Type Specifiers
representation of
Floating Point (F.3.6)

double precision
Conversions of Float and Double

else statements
The if Statement

enum
Structure and Union Declarations
changes
Name Space Changes

enumeration constants
Enumeration Declarations
Enumeration Constants
Integer and Floating Point Types
changes
Name Space Changes

enumeration types
type of int used
Structures, Unions, Enumerations, and Bitfields (F.3.9)

enumeration variables
Enumeration Declarations

environment
altering
The getenv Function
names
The getenv Function
variables
The getenv Function

environments
Environment (F.3.2)
freestanding
Environment (F.3.2)

envp
Environment (F.3.2)

equality operators
Equality Operators

ERANGE macro
Library Functions (F.3.14)

errno
Library Functions (F.3.14)

errno macro
errno and perror

escape sequences
Special Characters
Characters (F.3.4)
hexadecimal
Special Characters

exception handling
Primary Expressions
Expressions and Operators

exclusive OR operator
Bitwise Exclusive OR Operator

exit function
The exit Function

export
non-ANSI
Preprocessing Directives (F.3.13)

expression statements
Expression Statement

expressions
– –
Postfix ++ and – –
++
Postfix ++ and – –
constant
Constant Expressions
parenthesized
Primary Expressions
postfix
Postfix Expressions
function calls
Function Calls
structure references
Structure and Union References
union references
Structure and Union References
primary
Primary Expressions
side effects
Practices to Avoid

extensions
Compiling ANSI Programs

extern
Storage-class Specifiers
definitions
Changes in the Linkage of Identifiers
function definitions
External Function Definitions

extern declarations
Preprocessing Directives (F.3.13)

external definitions
External Definitions

external function definitions
External Function Definitions

external linkage
Linkage of Identifiers

external names
changes
External Name Changes
compiler options and
Data Area Name Changes

external object definitions
External Object Definitions

fgetpos function
errno on failure
errno and perror

file buffering
Streams and Files

file names
Streams and Files

file position indicator
initial position
Streams and Files

file scope
File Scope

files
opening multiple times
Streams and Files
remove on an open file
Streams and Files
renaming
Streams and Files
temporary
The abort Function
valid names
Streams and Files
zero-length
Streams and Files

float
Type Specifiers
representation of
Floating Point (F.3.6)

float variables
Types and Type Compatibility

floating constants
Floating Constants

floating types
Derived Types

floating-point
Integer and Floating Point Types
conversions
Conversions of Float and Double
exception handling
Expressions and Operators
sizes
Integer and Floating Point Types
types
Floating Point (F.3.6)

fmod
Library Functions (F.3.14)

fpc
Primary Expressions

fprintf
Streams and Files

fscanf
Streams and Files

ftell function
errno on failure
errno and perror

function pointer casts
Function Pointer Casts (F.5.7)

function prototype scope
Function Prototype Scope
Scoping Differences

function prototypes
changes
Areas of Major Change
Function Prototypes
incompatible types
Function Prototypes
inconsistent
Function Prototypes

function scope
Scoping Differences
Function Scope

functions
calls
Function Calls
declarators
Function Declarators and Prototypes
definition
External Function Definitions
designators
conversions
Conversion of lvalues and Function Designators
external
definition
External Function Definitions
mixed use
Mixed Use of Functions
non-void
Recommended Practices
nonprototyped
Function Calls
prototyped
Function Calls
prototypes
Prototyped Functions Summarized
Function Declarators and Prototypes
storage-class specifiers
External Function Definitions
type
External Function Definitions

getenv function
The getenv Function

goto statements
The goto Statement

handle_sigfpes
Primary Expressions

header files
changes
Standard Headers

headers, standard
Standard Headers

hexadecimal escape sequences
Special Characters

identifiers
Lexical Conventions
Identifiers (F.3.3)
case distinctions
Identifiers (F.3.3)
definition
Identifiers
disambiguating
changes
Changes in Disambiguating Identifiers
length
Identifiers
linkage
Linkage of Identifiers
name space
Name Spaces
scope
changes
Scoping Differences

if statements
The if Statement
Selection Statements

implicit declarations
Implicit Declarations

include files
Preprocessing Directives (F.3.13)
maximum nesting depth
Preprocessing Directives (F.3.13)
quoted names
Preprocessing Directives (F.3.13)

inclusive OR operator
Bitwise Inclusive OR Operator

incompatibility
traditional C
Function Declarators and Prototypes

incompatible types
function prototypes and
Function Prototypes

increment operator
Prefix ++ and – – Operators

indirect references
Indirect Structure and Union References

indirection operator
Address-of and Indirection Operators

init-declarator-list
definition
Declarations

initialization
Initialization
aggregates
Initialization of Aggregates
and storage duration
Storage-class Specifiers
examples
Examples of Initialization
structs
Initialization of Aggregates
unions
Initialization of Aggregates

INLINE_INTRINSICS
Preprocessing Directives (F.3.13)

int
Type Specifiers
Integer and Floating Point Types
pointer conversion
Cast Operators

integer
Integer and Floating Point Types
conversions to character
Conversions of Characters and Integers
divide-by-zero
Expressions and Operators
sizes
Integer and Floating Point Types

integer character constants
Characters (F.3.4)

integer constants
Integer Constants

integer division
sign of remainder
Integers (F.3.5)

integers
bitwise operations
Integers (F.3.5)
conversions
Integers (F.3.5)
exception conditions
Expressions and Operators
pointers
Conversion of Pointers and Integers
ranges
Integers (F.3.5)
representations
Integers (F.3.5)
sizes
Integers (F.3.5)
unsigned
conversions
Conversion of Unsigned Integers

integral constant expressions
Constant Expressions

integral promotions
Integral Promotions
Traditional C Conversion Rules

integral types
Derived Types

interactive device
Environment (F.3.2)

internal linkage
Linkage of Identifiers

isalnum
Library Functions (F.3.14)

isalpha
Library Functions (F.3.14)

iscntrl
Library Functions (F.3.14)

islower
Library Functions (F.3.14)

isprint
Library Functions (F.3.14)

isupper
Library Functions (F.3.14)

iteration statements
Iteration Statements
controlling expression
Iteration Statements
flow of control
Iteration Statements

jump statements
Jump Statements

keywords
Lexical Conventions
list of
Keywords

labels
case
The switch Statement
default
The switch Statement
name space
Name Spaces

libmalloc.a
Memory Allocation

libraries
shared C
Compiling ANSI Programs
specifying
Compiling ANSI Programs

library functions, prototypes
Standard Headers

linkage
Storage-class Specifiers
external
Linkage of Identifiers
identifiers
Linkage of Identifiers
changes
Changes in the Linkage of Identifiers
internal
Linkage of Identifiers
none
Linkage of Identifiers

linker-defined names
changes
Changes in Linker-Defined Names

literals
String Literals

local time
Timezones and the clock Function.

logical operators
AND
Logical AND Operator
OR
Logical OR Operator

long
Type Specifiers

long double
Floating Constants
Integer and Floating Point Types
Integer and Floating Point Types
Floating Point (F.3.6)

long double precision
Conversions of Float and Double

long int
Integer and Floating Point Types

long long
Integer and Floating Point Types
Integer and Floating Point Types

LONGLONG macro
Integers (F.3.5)

lvalue
conversions
Conversion of lvalues and Function Designators
definition
Objects and lvalues

lvalues
The sizeof Unary Operator

macros
Replacement of Macro Arguments in Strings
arguments
Replacement of Macro Arguments in Strings
in –ansi mode
Replacement of Macro Arguments in Strings
in –cckr mode
Replacement of Macro Arguments in Strings
in strings
Replacement of Macro Arguments in Strings
LONGLONG
Integers (F.3.5)
replacement of arguments
Replacement of Macro Arguments in Strings

main
arguments to
Environment (F.3.2)

malloc
Memory Allocation

math library
ANSI
Compiling ANSI Programs

mathematics functions
domain errors
Library Functions (F.3.14)
underflow range errors
Library Functions (F.3.14)

maximum array size
type required to hold
Arrays and Pointers (F.3.7)

members
name space
Name Spaces

messages
diagnostic
Translation (F.3.1)
error
Translation (F.3.1)
multiple definition
Changes in the Linkage of Identifiers

multibyte characters
Characters (F.3.4)
Character Types
Characters (F.3.4)

multiple definition messages
Changes in the Linkage of Identifiers

multiplicative operators
Multiplicative Operators

name
definition
Identifiers

name spaces
Name Spaces
changes
Name Space Changes
Name Space Discrepancies Between Traditional and ANSI C
identifiers
Name Spaces
labels
Name Spaces
members
Name Spaces
tags
Name Spaces

names
data area
changes
Data Area Name Changes
disambiguating
changes
Areas of Major Change
external
changes
External Name Changes
linker-defined
changes
Changes in Linker-Defined Names

namespaces
What Is ANSI C?

negation
Unary + and – Operators

negative integers
right shift on
Integers (F.3.5)

new-line
in text streams
Streams and Files

new-lines
Lexical Conventions

non-graphical characters
Special Characters

non-void function
Recommended Practices

nonprototyped function declarations
Function Calls

NUL character
Special Characters

null
Special Characters

null characters
in binary streams
Streams and Files

NULL pointer
Library Functions (F.3.14)

NULL pointer constant
Conversion of Pointers

null statement
Expression Statement

object
definition
Objects and lvalues

objects
definitions
external
External Object Definitions
external
External Object Definitions
type
Types

offsetof() macro
Recommended Practices

one's complement
Unary ! and ~ Operators

/ operator
Multiplicative Operators

operator
Postfix ++ and – –
Prefix ++ and – – Operators

operators
Lexical Conventions
/
Multiplicative Operators
!
Unary ! and ~ Operators
%
Multiplicative Operators
&
Bitwise AND Operator
&minus
Prefix ++ and – – Operators
<<
Shift Operators
*
Multiplicative Operators
+
Additive Operators
unary
Unary + and – Operators
++
prefix
Prefix ++ and – – Operators
-
Additive Operators
unary
Unary + and – Operators
>>
Shift Operators
additive
Additive Operators
address-of
Address-of and Indirection Operators
AND
Bitwise AND Operator
assignment
Assignment Operators
+=
Compound Assignment
-=
Compound Assignment
=
Assignment Using = (Simple Assignment)
associativity
Expressions and Operators
bitwise
AND
Bitwise AND Operator
cast
Cast Operators
comma
Comma Operator
conditional
Conditional Operator
conversions
Operator Conversions
equality
Equality Operators
evaluation
Expressions and Operators
exclusive OR
Bitwise Exclusive OR Operator
grouping
Expressions and Operators
inclusive OR
Bitwise Inclusive OR Operator
indirection
Address-of and Indirection Operators
list of
Operators
logical
AND
Logical AND Operator
multiplicative
Multiplicative Operators
OR
exclusive
Bitwise Exclusive OR Operator
inclusive
Bitwise Inclusive OR Operator
logical
Logical OR Operator
order of evaluation
Expressions and Operators
precedence
Expressions and Operators
relational
Relational Operators
shift
Shift Operators
sizeof
The sizeof Unary Operator
unary
Unary Operators
~
Unary ! and ~ Operators

OR operator
exclusive
Bitwise Exclusive OR Operator
inclusive
Bitwise Inclusive OR Operator
logical
Logical OR Operator

order of evaluation
operators
Expressions and Operators

overflow handling
Primary Expressions

parenthesized expressions
Primary Expressions

passing arguments
Function Calls

perror function
errno and perror

pointer
convert to int
Cast Operators
truncation of values
Cast Operators

pointer constant
NULL
Conversion of Pointers

pointer declarators
Pointer Declarators

pointers
additive operators on
Additive Operators
casting to int
Arrays and Pointers (F.3.7)
conversion to int
Arrays and Pointers (F.3.7)
Arrays and Pointers (F.3.7)
conversions
Conversion of Pointers
differences of
Arrays and Pointers (F.3.7)
integer additions and
Conversion of Pointers and Integers
qualifiers
Qualifiers and Pointers
to qualified types
Qualifiers and Pointers
to void
Conversion of Pointers

postfix expressions
Postfix Expressions
– –
Postfix ++ and – –
++
Postfix ++ and – –
function calls
Function Calls
indirect references
Indirect Structure and Union References
structure references
Structure and Union References
union references
Structure and Union References

pow
Library Functions (F.3.14)

powf
Library Functions (F.3.14)

pragmas
Preprocessing Directives (F.3.13)
ignored
Preprocessing Directives (F.3.13)

precedence of operators
Expressions and Operators

precision
Floating Constants

preprocessing directives
Preprocessing Directives (F.3.13)

preprocessor
changes
Preprocessor Changes

primary expressions
Primary Expressions

programming hints
Helpful Programming Hints

programming practices
discouraged
Practices to Avoid
recommended
Recommended Practices

programs
conforming
What Is ANSI C?

promotions
arguments
Function Calls
changes
Argument Type Promotions
arithmetic expressions
Type Promotion in Arithmetic Expressions
changes
Types and Type Compatibility
Areas of Major Change
floating-point
Type Promotion in Arithmetic Expressions
integral
Type Promotion in Arithmetic Expressions
Integral Promotions

prototyped function declarations
Function Calls

prototyped functions
Prototyped Functions Summarized

prototypes
Function Declarators and Prototypes
changes
Areas of Major Change
Function Prototypes
incompatible types
Function Prototypes
inconsistent
Function Prototypes

ptrdiff_t
Arrays and Pointers (F.3.7)

punctuators
Lexical Conventions
definition
Punctuators
list of
Punctuators

putenv function
The getenv Function

quad precision
Floating Point (F.3.6)

qualified objects
Recommended Practices

qualified types
changes
Areas of Major Change

qualifiers
Type Qualifiers
access to volatile
Qualifiers (F.3.10)
volatile
Type Qualifiers

realloc
Memory Allocation

recommended coding practices
Recommended Practices

register
–32 mode
Registers (F.3.8)

register
Function Declarators and Prototypes
function declaration lists
External Function Definitions
nonoptimized code
Registers (F.3.8)
optimized code
Registers (F.3.8)

register keyword
Storage-class Specifiers

register storage-class specifier
Registers (F.3.8)

relational operators
Relational Operators

remainder
sign of
Integers (F.3.5)

remove function
on an open file
Streams and Files

rename function
Streams and Files

reserved keywords
Keywords

result type
definition
Usual Arithmetic Conversions

return statements
The return Statement

right shift
on negative integers
Integers (F.3.5)

rounding
type used
Floating Point (F.3.6)

scalar types
Derived Types

scope
block
Block Scope
changes
Scoping Differences
definition
Scope
file
File Scope
function
Function Scope
function prototype
Scoping Differences
Function Prototype Scope

scoping
changes
Scoping Differences

selection statements
Selection Statements

setlocale
Library Functions (F.3.14)

shared C library
Compiling ANSI Programs

shift operators
Shift Operators

shift states
Characters (F.3.4)

short
Type Specifiers

short int
Integer and Floating Point Types

signal function
Signals

signal-catching functions
valid codes
Signals

signals
default handling
Diagnostics
semantics
Signals

signed
Type Specifiers

simple assignment
Assignment Using = (Simple Assignment)

single precision
Conversions of Float and Double

size_t
The sizeof Unary Operator
Arrays and Pointers (F.3.7)

sizeof
Type Names
The sizeof Unary Operator
Arrays and Pointers (F.3.7)
type of result
The sizeof Unary Operator

space character
Translation (F.3.1)

special characters
Special Characters

standard header files
changes
Standard Headers

statements
block
Compound Statement or Block
break
The switch Statement
The break Statement
compound
Compound Statement or Block
scope of declarations
Compound Statement or Block
continue
The for Statement
do
The do Statement
else
The if Statement
expression
Expression Statement
for
The for Statement
goto
The goto Statement
if
The if Statement
jump
Jump Statements
null
Expression Statement
return
The return Statement
selection
Selection Statements
switch
Selection Statements
The switch Statement
while
The while Statement

static
function definitions
External Function Definitions

static keyword
Storage-class Specifiers

static storage duration
Storage Duration
Storage-class Specifiers

stdarg
Function Declarators and Prototypes
Practices to Avoid
recommended practice
Practices to Avoid

stderr
Environment (F.3.2)

storage class sizes
Integer and Floating Point Types
Integer and Floating Point Types

storage class specifiers
Storage-class Specifiers

storage duration
Storage-class Specifiers
Storage Duration
auto
Storage-class Specifiers
automatic
Storage Duration
static
Storage Duration
Storage-class Specifiers

strictly conforming programs
What Is ANSI C?

string literals
Replacement of Macro Arguments in Strings
String Literals
Writable String Literals (F.5.5)
Lexical Conventions
Primary Expressions
recommended practice
Practices to Avoid
wide
String Literals
wide characters
Initialization of Aggregates

strings
macro arguments
Replacement of Macro Arguments in Strings

struct
Structure and Union Declarations
name space of members
Name Spaces
namespace
changes
Name Space Changes

structure
declaration
Structure and Union Declarations
indirect references
Indirect Structure and Union References
members
restrictions
Structure and Union Declarations
references
Structure and Union References

structures
initialization
Initialization of Aggregates
padding
Structures, Unions, Enumerations, and Bitfields (F.3.9)

switch statements
Selection Statements
The switch Statement
maximum number of case values
Statements (F.3.12)

system function
The system Function

tabs
Lexical Conventions

tags
name space
Name Spaces

temporary files
Temporary Files
The abort Function

text stream
last line
Streams and Files
new-line
Streams and Files

text streams
writes on
Streams and Files

time
availability
Preprocessing Directives (F.3.13)
daylight savings
Timezones and the clock Function.
local
Timezones and the clock Function.

timezone
Timezones and the clock Function.

token concatenation
Token Concatenation

tokens
classes of
Lexical Conventions
in –ansi mode
Token Concatenation
in –cckr mode
Token Concatenation

traditional C
compiler option
Compiling ANSI Programs
conversion rules
Traditional C Conversion Rules
incompatibilities
Function Declarators and Prototypes
unsigned preserving integer promotion
Conversions of Characters and Integers

trigraph sequences
Trigraph Sequences (ANSI C Only)

truncation
direction of
Floating Point (F.3.6)
Floating Point (F.3.6)
pointer value
Cast Operators
type used
Floating Point (F.3.6)

type names
Type Names

type qualifiers
Type Qualifiers

type specifiers
Type Specifiers
list of
Type Specifiers

typedef
typedef
Type Qualifiers
Structure and Union Declarations
Storage-class Specifiers

typedef
Type Specifiers

types
Types
32-bit mode
Integer and Floating Point Types
64-bit mode
Integer and Floating Point Types
arithmetic
Derived Types
changes
Types and Type Compatibility
Areas of Major Change
character
Character Types
compatibility
changes
Types and Type Compatibility
Compatible Types
derived
Derived Types
differences
Integer and Floating Point Types
double
Derived Types
float
Derived Types
Conversions of Float and Double
floating-point
Integer and Floating Point Types
int
Additive Operators
integer
Integer and Floating Point Types
integral
Derived Types
long double
Floating Constants
multibyte characters
Character Types
promotion in arithmetic expressions
Type Promotion in Arithmetic Expressions
promotions
arguments
Argument Type Promotions
changes
Types and Type Compatibility
Argument Type Promotions
floating-point
Type Promotion in Arithmetic Expressions
integral
Type Promotion in Arithmetic Expressions
scalar
Derived Types
sizes
Integer and Floating Point Types
unsigned char
Character Types
void
The void Type

TZ environment variable
Timezones and the clock Function.

unary operators
Unary Operators

underflow handling
Primary Expressions

underflow range errors
math functions
Library Functions (F.3.14)

union
Structure and Union Declarations
32-bit mode
Structures, Unions, Enumerations, and Bitfields (F.3.9)
64-bit mode
Structures, Unions, Enumerations, and Bitfields (F.3.9)
accessing members
Structures, Unions, Enumerations, and Bitfields (F.3.9)
declaration
Structure and Union Declarations
indirect references
Indirect Structure and Union References
initialization
Initialization of Aggregates
members
restrictions
Structure and Union Declarations
name space of members
Name Spaces
namespace
changes
Name Space Changes
references
Structure and Union References

unqualified types
changes
Areas of Major Change

unsigned
Type Specifiers

unsigned char
Character Types
default
Characters (F.3.4)

unsigned integers
conversions
Conversion of Unsigned Integers

user namespace
What Is ANSI C?

valid file names
Streams and Files

variables
float
Types and Type Compatibility

void
The void Type
Type Specifiers
conversions
Conversion of Void Objects
pointers to
Conversion of Pointers
return statements
The return Statement

void
Function Declarators and Prototypes

volatile
Type Qualifiers

volatile
Type Qualifiers

volatile object
Recommended Practices

volatile-qualified types
access to
Qualifiers (F.3.10)

weak_signal=strong_symbol
Preprocessing Directives (F.3.13)

while statements
The while Statement

white space
Lexical Conventions
Translation (F.3.1)

wide characters
Characters (F.3.4)

wide string literals
String Literals

words
alignment
Structures, Unions, Enumerations, and Bitfields (F.3.9)
size
Structures, Unions, Enumerations, and Bitfields (F.3.9)

zero-length files
Streams and Files

| operator
Bitwise Inclusive OR Operator

|| operator
Logical OR Operator