Прочитайте это так (используя правило по часовой стрелке / спирали):
char* (*name())[];
1) Найдите идентификатор.
char* (*name())[];
^^^^
"name is a"
2) Move right.
char* (*name())[];
^^
"name - это функция, принимающая любой параметр и возвращающая"
3) Больше не может двигаться вправо из-за правой круглой скобки, поэтому двигайтесь влево.
char* (*name())[];
^
"name - это функция, принимающая любой параметр и возвращающая указатель на"
4) Can больше не двигайтесь влево из-за левой скобки, так что продолжайте идти направо.
char* (*name())[];
^^
"name - это функция, принимающая любой параметр и возвращающая указатель на массив"
5) Больше не может двигаться вправо, потому что у нас нет символов, поэтому go left.
char* (*name())[];
^
"name - это функция, принимающая любой параметр и возвращающая указатель на массив указателей на"
6) И, наконец, продолжайте идти влево, потому что на right.
char* (*name())[];
^^^^
"name - это функция, принимающая любой параметр и возвращающая указатель на массив указателей на char".