Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP C/HP-UX Reference Manual: HP-UX Systems > Chapter 3 Data Types and Declarations

Type Names

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

A type name is syntactically a declaration of an object or a function of a given type that omits the identifier. Type names are often used in cast expressions and as operands of the sizeof operator.

Syntax

type-name ::=
specifier-qualifier-list [abstract-declarator]

abstract-declarator ::=
pointer
[pointer] direct-abstract-declarator

direct-abstract-declarator
( abstract-declarator )
[direct-abstract-declarator] [ [constant-expression] ]
[direct-abstract-declarator] ( [parameter-type-list] )

Description

Type names are enclosed in parentheses to indicate a cast operation. The destination type is the type named in the cast; the operand is then converted to that type.

A type name is a declaration without the identifier specified. For example, the declaration for an integer is int i. If the identifier is omitted, only the integer type int remains.

Examples

int int
int * Pointer to int
int () Function returning an int
int *() Function returning a pointer to int
int (*)() Pointer to function returning an int
int [3]; Array of 3 int
int *[3]; Array of 3 pointers to int
int (*)[3]; Pointer to an array of 3 int

The parentheses are necessary to alter the binding order in the cases of pointer to function and pointer to array. This is because function and array declarators have higher precedence than the pointer declarator.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© Hewlett-Packard Development Company, L.P.