Answer: A,B,C
Option A, B is correct it doesn’t matter what size you mention because what is being passed is the pointer pointing to the initial address of the array.
(Source: C Programming Language by Dennis Ritchie)
Option C is correct, option D is wrong because while passing 2D array to the function we have to mention number of columns each row have.
Internally compiler will treat it as
void fun(int (*TwoD)[5]);
(Source: C Programming Language by Dennis Ritchie)