C言语中有函数指针的概念,关于相同的参数数量和参数类型,以及相同的函数返回值,经过传递函数指针,能够动态地调用不同的函数完成不同的功用.
咱们先看看C的一个函数指针调用的比如:
#include
int max(int x,int y)
{
int z;
if(x>y) z=x;
else
z=y;
return (z);
}
//求最大值
int min(int x,int y)
{
int z;
if(x>y) z=y;
else
z=x;
return(z);
}
//求最小值
int add(int x,int y)
{
return(x+y);
}
//求和
int process(int x,int y,int (*fun)())
{
int result;
result=fun();
return result;
}
int main()
{
int a,b,result;
a=10;
b=5;
result=process(a,b,max);
result=process(a,b,min);
result=process(a,b,add);
}
从上面的C程序能够看出,经过一个PROCESS函数,能够完成不同的函数调用,这便是函数指针的重要用处.LABVIEW是否能完成相似的功用?
经过VI SERVER能够完成相似的功用.我经过一个简略的比如阐明完成的进程.
首要界说两个加法和乘法的子VI.
留意,有必要界说连接器,并且参数数量和方位有必要完全相同(所谓的严厉类型界说)