void f(int ***);
means that the function receives a pointer to a pointer to a pointer to an int. This would work with this:
int x=42;
int *px=&x;
int **ppx=&px;
int ***pppx=&ppx;
f(pppx);
Now about the second, its a function that gets a pointer to a pointer to an int, and if you give nothing, by default it is 0.
int x=42;
int *px=&x;
int **ppx=&px;
f(ppx);
f();
UPDATE:
The practical use of this type of double pointer is a memory allocation program, such as:
bool alloc(T **mem, int count);
true/false , , , , , :
T *mem;
verify(alloc(&mem, 100));
, , . mem .
, , , ( ).