HP C/iX Reference Manual (31506-90011)

Chapter 3 41
Data Types and Declarations
Declarators
Declarators
A declarator introduces an identifier and specifies its type, storage class, and scope.
Syntax
declarator
::=
[pointer] direct-declarator
direct-declarator
::=
identifier
(
declarator
)
direct-declarator
[
[constant-expression]
]
direct-declarator
(
parameter-type-list
)
direct-declarator
(
[identifier-list]
)
pointer
::=
*
[type-qualifier-list]
*
[type-qualifier-list] pointer
type-qualifier-list
::=
type-qualifier
type-qualifier-list type-qualifier
parameter-type-list
::=
parameter-list
parameter-list ,
...
parameter-list
::=
parameter-declaration
parameter-list , parameter-declaration
parameter-declaration
::=
declaration-specifiers declarator
declaration-specifiers [abstract-declarator]
identifier-list
::=
identifier
identifier-list , identifier
Description
Various special symbols may accompany declarators. Parentheses change operator
precedence or specify functions. The asterisk specifies a pointer. Square brackets indicate
an array. The constant-expression specifies the size of an array.
A declarator specifies one identifier and may supply additional type information. When a
construction with the same form as the declarator appears in an expression, it yields an
entity of the indicated scope, storage class, and type.
If an identifier appears by itself as a declarator, it has the type indicated by the type
specifiers heading the declaration.