C语言动态内存分配

#import <Foundation/Foundation.h>
typedef int(*PFUN) (int,int);
typedef struct functionStruct{
char name[30];
PFUN p;
}FunctionStruct;
int maxValue(int a,int b)
{
return a>b?a:b;
}
int minValue(int a,int b)
{
return a<b?a:b;
}
int sumValue(int a,int b)
{
return a+b;
}
FunctionStruct functions[3] ={{"max",maxValue},{"min",minValue},{"sum",sumValue}};
PFUN getFunctionFromName(char * name)
{
for (int i = 0; i < 3; i++) {
if (strcmp(name, functions[i].name)==0) {
return functions[i].p;
}
}
return NULL;
}
int getValue(int x,int y,char * name)
{
PFUN p = getFunctionFromName(name);
if(p == NULL) return 0;
return p(x,y);
}
int main(int argc, const char * argv[])
{
printf("%d",getValue(3, 5, "min"));
return 0;
}

原文地址:https://www.cnblogs.com/yuanyuandachao/p/3342696.html