char q(char *); --> jest to prototyp funkcji zwracający zmienną typu char. Jako argument przyjmuje zmienną wskaźnik do typu char. Jest to dozwolony zapis w prototypie funkcji. W definicji funkcji jeśli chcesz korzystać z przekazanego w ten sposób argumentu, musisz podać nazwę zmiennej, czyli np.
char q(char *zmienna);
char (*q)(char[]); --> jest to wskaźnik do funkcji, która zwraca zmienną typu char, a jako argument przyjmuje zmienną typu char, która jest tablicą (w tym przypadku prawdopodobnie łańcuchem znaków).