char actual_space[MAXDIMS][16];
charpointr_array[MAXDIMS];
for ( i = 0; iMAXDIMS; i
) pointr_array[i] = actual_space[i];
status = gsdInqSize( ..., pointr_array, ... );
The reason why this call works but passing actual_space does not work,
is that gsdInqSize uses the given value as a char ![]()
. So in this
routine given[1] goes forward in memory by the size of a char
or the
number of bytes needed to store a pointer. actual_space would need a
step in memory by 16 bytes, i.e. the distance from one string to the
next. The main routine knows about this, because it declared
actual_space _and_ pointr_array.
The Global Section Datafile (GSD) access library