社区
C语言
帖子详情
解释:int (* func (int)) (int*, int*);
hy_number_one
2006-12-16 10:31:53
rt
...全文
466
14
打赏
收藏
解释:int (* func (int)) (int*, int*);
rt
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pluton
2006-12-18
打赏
举报
回复
#include <stdio.h>
typedef int (* FunctionPionter) (int, int);
int f(int a,int b)
{
printf("%d\n",a+b);
return a+b;
}
FunctionPionter func(int a)
{
printf("%d\n",a);
FunctionPionter p;
p=f;
int b=3;
p(a,b);
return p;
}
int main()
{
FunctionPionter s;
s=func(5);
printf("%d\n",s(1,2));
}
AI风
2006-12-17
打赏
举报
回复
刚才调试,发现一个很有意思的问题:
void SomeFunction() (int val) //注意: 不是 void SomeFunction(int val)
{
.......
}
表示这个函数的返回值的类型是void(*) void,而不是void
我是第一次看到这种用法,长见识了,谢谢楼主!!!
softwarewander
2006-12-16
打赏
举报
回复
呵呵, 我刚出去一会, 就讨论这么热闹阿
sopro(倾听世界) 在九楼的举例很典型
最终是个函数的声明而已
sopro
2006-12-16
打赏
举报
回复
对的,你这样页可以
hy_number_one
2006-12-16
打赏
举报
回复
哦,应给可以这样些:
void SomeFunction() (int val) // 某个函数
{
cout << val << endl;
}
int main()
{
void (* pF) (int);
pF = SomeFunction;
int val = 100;
pF(val); //相当于调用SomeFunction(val)
}
sopro
2006-12-16
打赏
举报
回复
不行
ps:刚才写错了,应该是:
using namespace std;
typedef void (*pFunc) (int);
void SomeFunction (int val) //这里刚才写错咯
{
cout << val << endl;
}
int main()
{
pFunc pF = SomeFunction;
int val = 100;
pF(val);
}
lei001
2006-12-16
打赏
举报
回复
函数指针,返回值int,参数int
hy_number_one
2006-12-16
打赏
举报
回复
可以这样些不:
typedef (void () (int))*pF;
void SomeFunction() (int val) // 某个函数
{
cout << val << endl;
}
int main()
{
pF = SomeFunction;
int val = 100;
pF(val); //相当于调用SomeFunction(val)
}
sopro
2006-12-16
打赏
举报
回复
举个例子好了
typedef void (* pFunc) (int);
void SomeFunction() (int val) // 某个函数
{
cout << val << endl;
}
int main()
{
pFunc pF = SomeFunction;
int val = 100;
pF(val); //相当于调用SomeFunction(val)
}
laiwusheng
2006-12-16
打赏
举报
回复
返回值为int 型
laiwusheng
2006-12-16
打赏
举报
回复
int (* func (int)) (int*, int*);
想当于
typedef int (* func(int)) (int*, int*);
func f(int);
ls 正确,函数声明
hy_number_one
2006-12-16
打赏
举报
回复
嘿嘿,是你另外一个帖子里面写的
大哥,我就是不小的返回的是个什么指针啊?说明白,详细,清晰一点可以不?
sopro
2006-12-16
打赏
举报
回复
typedef int (* FunctionPionter) (int*, int*)
FunctionPointer func(int)
知道了把,就是一个函数声明而已,只不过是返回指比较特殊,是个函数指针而已^_^
sopro
2006-12-16
打赏
举报
回复
。。。
这个是我在另外一个帖子里面写的把。。。
int
(*
func
(
int
)) (
int
*,
int
)
转自:http://www.iteye.com/problems/24480 #include #define NULL 0 #define ASGN 1 #define MUL 2
int
asgn(
int
* a,
int
b) { return *a = b; }
int
mul(
int
* a,
int
b) {
int
const*
func
(const
int
&) | const
int
*
func
(const
int
&) |
int
*
func
() const区别
//
int
const*
func
(const
int
&) | const
int
*
func
(const
int
&) |
int
*
func
() const区别 //const一般有三种用处:修饰函数参数;修饰函数返回值;const成员函数。 //如果函数返回值采用“值传递方式”,由于函数会...
int
*
func
(
int
,
int
) 和
int
(*
func
1)(
int
,
int
)的区别
1.
func
就是普通的函数名 ,只是这个函数的返回值是指针 2.
func
1 是函数指针,他指向的函数 返回值为
int
有两个
int
的参数
void (*
func
)(
int
)和void (*
func
)(void)
先
解释
void (*
func
)(
int
):void
func
()->void
func
(
int
)->void *
func
(
int
)->void (*
func
)(
int
)上面的图示能看明白吧?
func
是一个函数指针,它的返回类型为空,它所指向的函数接收一个
int
型的参数。若是写成void *...
typedef
int
(*
func
)(
int
,
int
)
typedef
int
(*
func
)(
int
,
int
)
int
(*
func
)(
int
,
int
) 一个函数指针的声明 typedef 定义了一个 函数指针声明的***类型***
func
作为一个类型 可以 声明 变量/。
func
a = 函数; ...
C语言
69,379
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章