着脸段代码是什么含义,最好能逐行,谢谢!
typedef struct inputPosAndFunc {
const int paraPosition;
void (*set)(const char* input);
} T_INPUT;
static T_INPUT inputParaMap[] = {
{szFlagPos, (void *)set_host_name},
{instanceNumPos, set_instance_num},
{portPos, set_port}
};
说明大体如下:
typedef struct inputPosAndFunc{
const int paraPosition;//声明一个整型常量
void (*set)(const char* input); //定义一个函数指针,函数的参数是const char*类型
}T_INPUT; //T_INPUT是这个结构体的名字
static T_INPUT inputParaMap[] = { //定义一个T_INPUT类型的静态数组,这个数组里有3个T_INPUT类型的元素
{szFlagPos,(void*)set_host_name}, //第一个T_INPUT元素,
{instanceNumPos, set_instance_num},//第二个T_INPUT元素,
{portPos,set_port}//第三个T_INPUT元素,
}
定义了一个结构体inputPosAndFunc,结构体里面有两个参数,一个const int类型,另一个为set函数指针类型,函数的参数是const char*类型。将struct inputPosAndFunc用T_INPUT代替。static T_INPUT inputParaMap[] 定义一个static的结构体数组inputParaMap,并且初始化三个T_INPUT对象。某些编译器是支持这样的初始化的。初始化的参数就是结构体的成员。一个const int类型,另一个为set函数指针类型
1、{szFlagPos, (void *)set_host_name},
2、{instanceNumPos, set_instance_num},
3、{portPos, set_port}