If the array type has been defi ned as a typedef name, as in:
typedef int ARRAY[10];
then a __far parameter declaration is:
void my_func (ARRAY __far a);
The parameter is a __far pointer to the first element of the array. This is equal to:
void my_func (int *__far a);
It is also equal to the following direct declaration:
void my_func (int a[10] __far);
It is not the same as specifying a __far pointer to the array:
void my_func (ARRAY *__far a);
because a has type " __far pointer to ARRAY" instead of " __far pointer to int".