int *func(int,int),func 是什么?

hbb0b0 2010-08-11 01:22:19
int *func(int,int),func 是什么?
int (*func1)(int ,int) func 返回值为int 参数为(int,int)的函数指针,上面的语句可以编译通过。
...全文
1263 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
e_sharp 2010-08-11
  • 打赏
  • 举报
回复
学习。。。。。。。。。。。。
harderman 2010-08-11
  • 打赏
  • 举报
回复
都讲得很清楚了
zhangzhongke007 2010-08-11
  • 打赏
  • 举报
回复
各位很热心啊。
十八道胡同 2010-08-11
  • 打赏
  • 举报
回复
是个函数指针

该函数参数是2个int ,返回值是int
yiruirui0507 2010-08-11
  • 打赏
  • 举报
回复
第一个是函数名
第二个是一个函数指针
lovestefanie 2010-08-11
  • 打赏
  • 举报
回复
同ls
jldream110 2010-08-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 hbb0b0 的回复:]
int *func(int,int),func 是什么?
int (*func1)(int ,int) func 返回值为int 参数为(int,int)的函数指针,上面的语句可以编译通过。
[/Quote]
func 就是普通的函数名 ,只是这个函数的返回值是指针
func1 是函数指针 他指向的函数 返回值为 int 有两个int的参数
艾莎云 2010-08-11
  • 打赏
  • 举报
回复
括号决定优先级
不过 int *这种类型倒是少见哦……
明朝2013 2010-08-11
  • 打赏
  • 举报
回复
指针函数
yzx714 2010-08-11
  • 打赏
  • 举报
回复
第一个是函数名
第二个是一个函数指针
sese53 2010-08-11
  • 打赏
  • 举报
回复
声明函数是不能赋值给指针的
hbb0b0 2010-08-11
  • 打赏
  • 举报
回复
我用的是 gcc 3.4.4
谢了 jackyjkchen。
以及楼上的各位
jackyjkchen 2010-08-11
  • 打赏
  • 举报
回复
不过你只声明未定义那就不行了,函数只有定义过函数体才有地址
jackyjkchen 2010-08-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hbb0b0 的回复:]
int *func(int,int),func 是什么?
printf("int *func(int,int) sizeof(func)=%d\n",sizeof(func));
输出 int *func(int,int) func=1
如果调用printf("int *func(int,int) func=%p\n",func);
编译时报undefined reference to _……
[/Quote]
VS2008没问题不报错

gcc 4.4.3没问题

测试代码

#include<stdio.h>

int *func(int,int)
{
return 0;
}

int main(void)
{

printf("int *func(int,int) func=%p\n",func);

return 0;
}

Erorr 2010-08-11
  • 打赏
  • 举报
回复
编译器支持问题
VS2008上没问题
hbb0b0 2010-08-11
  • 打赏
  • 举报
回复
to : * jackyjkchen
为什么 func 的不到 地址
这怎么解释?
hbb0b0 2010-08-11
  • 打赏
  • 举报
回复
int *func(int,int),func 是什么?
printf("int *func(int,int) sizeof(func)=%d\n",sizeof(func));
输出 int *func(int,int) func=1
如果调用printf("int *func(int,int) func=%p\n",func);
编译时报undefined reference to _func ?为什?
xy_zhang 2010-08-11
  • 打赏
  • 举报
回复
第一个是个函数,参数类型(int,int),返回值类型int *。
第二个是个函数指针。
scutLiu 2010-08-11
  • 打赏
  • 举报
回复
func是函数名
返回值是int*类型的
jackyjkchen 2010-08-11
  • 打赏
  • 举报
回复
func就是函数名啊,往底层了说就是个地址,调用这个名字就会从这个地址执行代码

底下的函数指针,是指向上面那种类型函数的指针

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧