C언어 포인터 배열 함수 파라미터 질문

2차원 배열을 함수의 매개변수로 쓸때

길이가 4인 포인터 배열을 만들고 fun 함수에 포인터 배열의 주소를 전달해서 각 요소(포인터)는 길이가 4인 배열을 가리키는 포인터 배열을 만들려고 합니다.

만들려는 포인터 배열을 코드로 옮기면 char * arry[4] 가 맞나요?

맞다면

만들려는 함수의 매개변수 꼴은

void fun(char *arry[4])

void fun(char* arry[])

void fun(char **arry)

3개 중에서 어떤 표현이 맞는 표현인가요?
함수를 사용할때 argument 를 넣어줘야하는데 포인터 배열의 이름만 넘겨주면 되나요?

ex
fun(arry);

질문이 약간 오류가 있는 거 같네요

길이 4짜리 char 배열 4개를 각각 가르키는 포인터의 배열 말씀하신 거라면

char *arr[4] 이거도 되고
char **arr 이거도 될거에여

char (* arr)[4]
얘는 arr is a pointer to a char array of length 4 라는 뜻인데

생각해보니 얘도 되겠네요 ㄷㄷ

갠적으로 그렇게 고정길이가 정해져있다면

char matrix[4][4] 추천 드립니다