CHARACTER array that will be passed to a FORTRAN routine. This array will be the actual argument
of a call to a FORTRAN routine.
The array being declared.
The length of the character string.
dimensions of the array.
DECLARE_CHARACTER_ARRAY(C,50,10) will expand as
| All Unix: ||
char C; const int C_length
| VAX/VMS: ||
char C; const int C_length = 50;
struct dsc$descriptor_s C_descr =
50, DSC$K_DTYPE_T, DSC$K_CLASS_S, C };
struct dsc$descriptor_s C_arg =&C_descr
On VMS, the expansion of the macro is quite complex. A char array is declared as well as
an int variable to store the length of the array. There is also a descriptor and a pointer to that
descriptor. The address of the descriptor is what is actually passed to the called FORTRAN routine.