VMS Help
FORTRAN, Statements, Type declaration
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
A type declaration can be specified only once and must precede all
executable statements. A type declaration cannot change the type
of a symbolic name that has already been implicitly assumed to be
another type.
Type declarations must precede all executable statements, can be
declared only once, and cannot be used to change the type of a
symbolic name that has already been implicitly assumed to be
another type.
Type declaration statements can initialize data in the same way as
the DATA statement: by having values, bounded by slashes, listed
immediately after the symbolic name of the entity.
Format:
type[*n] v [*n][/clist/][,v [*n][/clist/]]...
type Is any of the following data type specifiers:
BYTE (equivalent to LOGICAL*1 and INTEGER*1)
DOUBLE PRECISION
LOGICAL
INTEGER
REAL
COMPLEX
DOUBLE COMPLEX
n Is an integer that specifies (in bytes) the length
of "v". It overrides the length that is implied by
the data type.
The value of n must specify an acceptable length
for the type of "v" (see the "DEC Fortran
Language Reference Manual"). BYTE, DOUBLE
PRECISION, and DOUBLE COMPLEX data types have
one acceptable length; thus, for these data types,
the "n" specifier is invalid.
If an array declarator is used, the "n" specifier
must be positioned immediately after the array name.
v Is the symbolic name of a constant, variable,
array, statement function or function
subprogram, or array declarator.
clist Is a list of constants, as in a DATA statement. If
"v" is the symbolic name of a constant, the "clist"
cannot be present.
A numeric data type declaration statement can define arrays by
including array declarators in the list.
A numeric type declaration statement can assign initial values to
variables or arrays if it specifies a list of constants (the
"clist"). The specified constants initialize only the variable or
array that immediately precedes them. The "clist" cannot have more
than one element unless it initializes an array. When the "clist"
initializes an array, it must contain a value for every element in
the array.
Format:
CHARACTER[*len[,] v[*len] [/clist/] [,v[*len] [/clist/]]...
len Is an unsigned integer constant, an integer constant
expression enclosed in parentheses, or an asterisk (*)
enclosed in parentheses. The value of "len" specifies
the length of the character data elements.
v Is the symbolic name of a constant, variable, array,
statement function or function subprogram, or array
declarator. The name can optionally be followed by
a data type length specifier (*len or *(*)).
clist Is a list of constants, as in a DATA statement. If
"v" is the symbolic name of a constant, "clist" must
not be present.
If you use CHARACTER*len, "len" is the default length specification
for that list. If an item in that list does not have a length
specification, the item's length is "len". However, if an item
does have a length specification, it overrides the default length
specified in CHARACTER*len.
When an asterisk length specification *(*) is used for a function
name or dummy argument, it assumes the length of the corresponding
function reference or actual argument. Similarly, when an asterisk
length specification is used for the symbolic name of a constant,
the name assumes the length of the actual constant it represents.
For example, STRING assumes a 9-byte length in the following
statements:
CHARACTER*(*) STRING
PARAMETER (STRING = 'VALUE IS:')
The length specification must range from 1 to 2**31-1 on RISC
processors. If no length is specified, a length of 1 is assumed.
Character type declaration statements can define arrays if they
include array declarators in their list. The array declarator goes
first if both an array declarator and a length are specified.
A character type declaration statement can assign initial values to
variables or arrays if it specifies a list of constants (the
clist). The specified constants initialize only the variable or
array that immediately precedes them. The "clist" cannot have more
than one element unless it initializes an array. When the "clist"
initializes an array, it must contain a value for every element in
the array.
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.