面试题答案
一键面试#include <stdio.h>
// 定义函数指针类型
typedef int (*FuncPtr)(int, int);
// 使用typedef定义结构体类型
typedef struct {
FuncPtr func;
int data1;
int data2;
} MyStruct;
// 示例函数,将作为函数指针的实现
int add(int a, int b) {
return a + b;
}
// 调用结构体中函数指针的函数
void callFunction(MyStruct* obj) {
if (obj->func) {
int result = obj->func(obj->data1, obj->data2);
printf("调用函数指针结果: %d\n", result);
}
}
int main() {
MyStruct myObj;
myObj.func = add;
myObj.data1 = 3;
myObj.data2 = 5;
callFunction(&myObj);
return 0;
}