// array(int , int(*)[4])
typedef int int4array[4];
typedef int4array *pint4array;
int array1(int , pint4array);

// array()(int, int(*)[4])
typedef int int4array[4];
typedef int4array *pint4array;
typedef int (*func_of_return)(int , pint4array);
func_of_return array2(void);