A declarator has the form:
/---------------------\ | >>---------------------------> \-*-/ |-volatile-| \-const----/ /-----------------------------------------------------\ | >------identifier------------------------------------------->< \-(--declarator--)-/ |-subscript_declarator------| |-(--parameter_type_list--)-| \-(------------------)------/ \-identifier-/
A qualifier is one of: const, volatile or _Packed. The compiler also implements the _Seg16, _Export , and _Inline qualifiers.
C++ does not support the _Packed keyword.
A declarator can contain a subdeclarator. A
subdeclarator has the form:
>>-----------------------------identifier-------------> | /-----------------\ | \-(--subdeclarator--)-/ | | | \-----------------*---/ |-volatile-| \-const----/ >---------------------------->< \-subscript_declarator-/
A subscript declarator describes the number of dimensions in
an array and the number of elements in each dimension. A
subscript declarator has the form:
>>--[---------------------------]------------------------------------->< \-constant_expression-/ | /---------------------------\ | | | | \---[--constant_expression--]---/