自定义函数,这里的(*f)是自定义函数的函数名的话,*的作用是什么?可以用别的形式代替吗?

int (*f)();
int add(int a, int b){
return a + b;
}
int sub(int a, int b){
return a - b;
}
int main(){
int(*f)(int, int);
f = add;
int temp = (*f)(100,10);
printf("%d\n", temp);
return 0;
}

说明f是一个函数指针,代表一个int返回值的函数。不能省略*号。