【发布时间】:2012-06-14 17:38:41
【问题描述】:
我认为如果我为函数指针创建一个 typedef 会更容易使用函数指针,但我似乎在某些语法或用法或关于函数指针的 typedef 的某些东西上绊倒了,我可以使用一些帮助。
我有
int foo(int i){ return i + 1;}
typedef <???> g;
int hvar;
hvar = g(3)
这基本上就是我想要完成的事情。我是一个相当新的 C 程序员,这让我太过分了。什么取代了<???>?
【问题讨论】:
-
您的代码不可能工作,因为如果 g 是 typedef,您就不能将其作为函数调用。你能具体描述一下你想要做什么吗?
-
真的吗?我以为我的老板告诉我使用 typedef 来完成这项工作。你能用#Define 完成类似的事情吗?
-
你具体想做什么?目前尚不清楚您要做什么。
-
通过使用定义你可以做
#define g foo然后int hvar; hvar = g(3); -
您必须首先执行 typedef(我想是一个函数指针),然后 使用 typedef 来定义一个变量(指向函数的类型指针)用你想要的函数,而不是使用该变量来调用它所指向的函数。
标签: c function-pointers typedef