>>110
だいぶ書き進めてるんで無理です。
グローバル変数しかないですか?

もし、一文字返すだけなら
void funk(char *moji){
static char a;
a='A';
moji=&a;
return;
}
でいいと思うんですけど、
今やろうとしてるのは構造体の配列をかえすものです。
だだし、その長さが関数内で決まります。