gpt4 book ai didi

c - 如何知道变量是否是 C 中的函数指针?

转载 作者:行者123 更新时间:2023-12-02 06:12:41 25 4
gpt4 key购买 nike

我有一个类型为 void(*func)(int) 的函数,并且我得到了一个指向该函数的指针,我如何才能确定指针确实属于这种类型?

if (typeof(pointer) == void(*func)(int)) {
//do something
}

这样对吗?

编辑 -我从一个函数中获取指针作为参数,我想检查该函数内部指针的类型。

最佳答案

如果你正在动态获取你的函数指针,那么尝试使用 union to 和一个标志变量来获取它的类型而不检查一些复杂的东西

#define type1 1
#define type2 2
union FN
{
void ....
int ....
....
}

typedef struct{
int type;

union FN fn;
} Function;

关于c - 如何知道变量是否是 C 中的函数指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61683062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com