char **p は 「charへのポインタの配列」 ではないよ

int main(void) {
 char s='a';
 char *p=&s;

 f(&p);
 return 0;
}