子函数打开文件如何返回指针?

如何在子函数中打开文件并将打开的指针返回来?
具体过程如下,但是返回的文件句柄是不对的,求指导!!非常感激!!

如:
void test(FILE *fp)
{
fp=fopen(temp,"wt");
}

void main ()
{
FILE *fp;

test(fp);

}

 FILE **fp;
test(fp);

void test(FILE **fp)
{
*fp=fopen(temp,"wt");
}
主程序通过 *fp接收指针

非常感谢,你这种方法需要申请内存。
我用下面的也可以,谢谢了!
FILE *fp;
test(&fp);

void test(FILE **fp)
{
*fp=fopen(temp,"wt");
}