Consider this example of a function declaration and definition (in the same translation unit):
inline static int foo(int x);
...
int foo(int x)
{
return
Yes. inline and static should be include. For example, the line of code for the function should be the same in the .h file where you declare, and the .c file where you define (so yes in both cases), but in your main code.c file it should only have the function name when called, so "foo(parameters passed)".
Hope this helps!