beautypg.com

Standard definitions

Page 448

background image

Appendix B. C Standard Library

UM013037-1212

424

Zilog Developer Studio II – Z8 Encore!
User Manual

A function can be called with a variable number of arguments of varying types. The Func-
tion Definitions
parameter list contains one or more parameters. The rightmost parameter
plays a special role in the access mechanism and is designated parmN in this description.

Type

Variable Argument List Access Macros and Function

The va_start and va_arg macros described in this section are implemented as macros, not
as real functions. If

#undef

is used to remove a macro definition and obtain access to a

real function, the behavior is undefined.

Functions

Standard Definitions

The following types and macros are defined in several headers referred to in the descrip-
tions of the functions declared in that header, as well as the common <

stddef.h

> stan-

dard header.

Macros

Types

va_list

An array type suitable for holding information needed by the macro va_arg
and the va_end function. The called function declares a variable (referred to
as ap in this section) having type va_list. The variable ap can be passed as
an argument to another function.

void va_start(va_list ap, parmN);

Sets ap to the beginning of argument list.

type va_arg (va_list ap, type);

Returns the next argument from list.

void va_end(va_list ap);

Should mark the end of usage of ap (but has no
effect in Zilog implementation).

NULL

Expands to a null pointer constant.

offsetof (type,
identifier)

Expands to an integral constant expression that has type size_t
and provides the offset in bytes, from the beginning of a structure
designated by type to the member designated by identifier.

ptrdiff_t

Signed integral type of the result of subtracting two pointers.