【发布时间】:2012-12-16 09:20:28
【问题描述】:
我的问题很简单。
通常,在声明某个变量时,您会将其类型放在其前面,例如:
int a;
函数指针的类型可能类似于:int(*)(int,int),以防我们指向一个接受两个整数并返回一个整数的函数。但是,当声明这样一个指针时,它的标识符不在类型之后,比如:
int(*)(int,int) mypointer;
相反,你必须在中间写上标识符:
int(*mypointer)(int,int);
为什么会这样? 抱歉,我知道这是一个令人尴尬的简单问题...
感谢大家的回复。 A.S.
【问题讨论】:
-
这不是唯一的情况,你也可以在数组声明中使用这种样式。
-
搜索“声明反映使用”。
-
这个 Q 有助于解释 Typedef 语法
typedef old-type alias-identifier但示例函数指针示例如“typedef int (*sum_func)(int,int);”语法不匹配...直到现在!