TYPEOF(3)

TYPEOF(3) | Library Functions Manual | TYPEOF(3)

# 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.

December 19, 2010 | NetBSD 8.0