【发布时间】:2023-11-27 01:36:01
【问题描述】:
Afaik uintptr_t 和 intptr_t 可用于保存任何指向 void 的指针。因此,这些类型可用于存储指向数据的指针。
在 C99 或更高版本中,是否有类似的有符号和无符号整数类型能够保存指向函数的指针?
【问题讨论】:
-
没有单一的“函数指针”类型(每种类型取决于函数原型)。
-
您甚至无法将函数指针转换为
void *。 C和C++也是不同的语言。请将您的问题限制在其中之一。 -
@barakmanos 是的,但是每个指向函数的类型在转换后都可以存储任何其他指向函数的类型,所以如果你有一个足够大的整数类型来存储一个指向函数的类型,你应该有一个足够大的整数类型。
-
@Olaf 您可以将其转换为足够大的整数类型。只是不能保证任何整数类型都足够大。
-
@hvd:是的,我自己找到的。我真的很确定他们在那里也使用了术语“对象指针”。对困惑感到抱歉。我删除了我的 cmets。
标签: c language-lawyer c99 c11