孫以降は
↓でおkだよね?

void aa(file **fp){
  fprintf(*fp, "test\n");
}
void a(file **fp){
  *fp=fopen(filename,"w");
  fprintf(*fp, "test\n");
  aa(&*fp);
}
main(){
  file *fp
  a(&fp);
  fclose(fp);
}