面试题答案
一键面试#include <stdio.h>
// 定义结构体
typedef struct {
int (*func)(struct MyStruct *, struct MyStruct *);
} MyStruct;
// 定义函数,满足函数指针的类型要求
int myFunction(struct MyStruct *a, struct MyStruct *b) {
// 这里简单返回两个结构体地址的差值,可根据实际需求修改
return (int)(a - b);
}
int main() {
MyStruct s1, s2;
// 初始化结构体中的函数指针
s1.func = myFunction;
s2.func = myFunction;
// 调用结构体中的函数指针
int result = s1.func(&s1, &s2);
printf("函数指针调用结果: %d\n", result);
return 0;
}
上述代码定义了一个结构体MyStruct
,其中包含一个函数指针func
,该函数指针指向的函数接收两个MyStruct
结构体指针并返回一个整数。定义了myFunction
函数满足函数指针的类型要求,并在main
函数中初始化结构体中的函数指针并调用该函数指针。
注意:在实际应用中,myFunction
函数内部逻辑应根据具体业务需求进行编写。