NAME
typeof —
GNU extension for type of an
expression
SYNOPSIS
type
typeof(
expression);
DESCRIPTION
The
typeof() construct can be used to obtain the type of an
expression. The syntax is comparable to that of
sizeof(),
but semantically
typeof() operates like a type name defined
with
typedef.
EXAMPLES
The following is a typical example of a type-generic macro:
#define MAX(a, b) ({ \
typeof(a) _a = (a); \
typeof(b) _b = (b); \
_a > _b ? _a : _b; \
})
SEE ALSO
gcc(1),
__alignof__(3),
attribute(3),
offsetof(3)
CAVEATS
The
typeof() construct is a non-standard, compiler-specific
extension.