C语言,这种写法是什么意思?
void (*ComputeAerodynamics)(double [],double [],double []);
后面还有个函数:
void CH10_SetModelAerodynamics(void (*aerodynamics)(double [],double [],double []))
{
ComputeAerodynamics = aerodynamics;
}
C语言,这种写法是什么意思?
void (*ComputeAerodynamics)(double [],double [],double []);
后面还有个函数:
void CH10_SetModelAerodynamics(void (*aerodynamics)(double [],double [],double []))
{
ComputeAerodynamics = aerodynamics;
}
第一个函数是一个指向函数的指针,命名为ComputeAerodynamics。它指向一个参数分别为三个double数组的函数,并且返回类型是void。
第二个函数是一个名为CH10_SetModelAerodynamics的函数,它接收一个参数,这个参数是一个指向函数的指针,其函数签名和ComputeAerodynamics定义的函数类型相同。在CH10_SetModelAerodynamics函数中,ComputeAerodynamics指针被赋值为输入的指针参数aerodynamics。
这个代码段允许动态设置ComputeAerodynamics指针指向的函数,从而实现不同的空气动力学模型的使用。