Оба являются указателями на массивы, поэтому вы можете разыменовать их, чтобы они стали массивами, которые распадаются на указатели на первый элемент:
char arr[10];
char (*pa)[10] = &arr;
printf("%s", *pa); // or &((*pa)[0])
Чтобы объяснить это: тип pa
равен char(*)[10]
, а тип *pa
равен char[10]
, и последний уменьшается до char*
значения &((*pa)[0])
(равного &(arr[0])
).