The function prototype in the header file can contain the variable names used in the function definition. This was a change introduced with ANSI C. It sounds like you're using the older K&R C standard. Here's an example:
void MyFunction(int x, int y, char* message)
In K&R C you would prototype the function like this:
extern void MyFunction(int, int, char*);
In ANSI C you would prototype the function like this:
extern void MyFunction(int x, int y, char* message);
The ANSI C style has the advantage that you can use copy and paste to create the declarations from your function definition AND anyone viewing your headers can tell that the first parameter is x and the second y, rather than having to find the function definition.