間違いました.こうでした.
struct A{
double (*f[100])(double);
(double *)(*funk)(double);
};

void function(struct A *hoge; ){

hoge->funk=hoge->f[0];

return;
}