MST

星途 面试题库

面试题:C语言typedef在结构体指针和函数指针结合的应用

定义一个结构体,其中包含一个函数指针成员。使用typedef简化结构体和函数指针的类型声明,并编写一个函数,该函数接受这个结构体指针作为参数,调用结构体中的函数指针执行操作,写出完整代码。
40.0万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试
#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;
}