What is useful about this C syntax — using \'K&R\' style function declarations?
C
int func (p, p2) void* p; int p2; { return 0; }
This is simply an old syntax, that pre-dates the "ANSI C" syntax you might be more familiar with. It's called "K&R C", typically.
Compilers support it to be complete, and to be able to handle old code bases, of course.