# cat a.h
static int a(void);

# cat a.c
#include "a.h"
static int a(void)
{
 return 'a';
}

# cat main.c
#include "a.h"
int main(void)
{
 printf("a→%c", a());
 return 0;
}

一体どこがマズイのですかね?