社区
C语言
帖子详情
解释:int (* func (int)) (int*, int*);
hy_number_one
2006-12-16 10:31:53
rt
...全文
509
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
打赏
举报
回复
。。。
这个是我在另外一个帖子里面写的把。。。
C/C++ 指针的13份资料
指针在此过程中扮演关键角色,如`
int
*ptr = (
int
*)malloc(sizeof(
int
)*10);`分配了10个整数的内存。 9. **指针与结构体**:指针可以用于访问结构体中的成员,如`struct Node {
int
data; }; struct Node *node_ptr...
int
*(
func
)(
int
) 和
int
*
func
(
int
) 的区别
int
*(
func
)(
int
) 返回值
int
int
*
func
(
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 *...
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
的参数
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章