#include <stdio.h>
typedef int X1; // 假设X1为int类型
typedef float X2; // 假设X2为float类型
typedef struct {
X1 x1;
X2 x2;
} A;
typedef struct {
A B;
} C;
typedef C D;
typedef D E;
// 返回函数指针的函数
void (*function(E* param))() {
printf("Received param: x1=%d, x2=%.2f\n", param->B.x1, param->B.x2);
return someFunction;
}
// 被返回的函数
void someFunction() {
printf("Function F is called.\n");
}
int main() {
// 1. 创建并初始化E类型的变量
E myStruct;
myStruct.B.x1 = 42; // 假设X1为int
myStruct.B.x2 = 3.14f; // 假设X2为float
// 2. 调用function获取函数指针
void (*F)() = function(&myStruct);
// 3. 通过函数指针调用函数
F();
return 0;
}
mark一个嵌套结构体的调用,再怎么重定义都只看最后一个,比如下面的E
最新推荐文章于 2025-08-05 19:50:13 发布