Используйте программу cdecl , как предложено K & amp; R.
$ cdecl
Type `help' or `?' for help
cdecl> explain int* arr1[8];
declare arr1 as array 8 of pointer to int
cdecl> explain int (*arr2)[8]
declare arr2 as pointer to array 8 of int
cdecl> explain int *(arr3[8])
declare arr3 as array 8 of pointer to int
cdecl>
Это работает и наоборот.
cdecl> declare x as pointer to function(void) returning pointer to float
float *(*x)(void )