声明一个指针型函数,且定义一个指针型函数类型变量,函数原型是int *fun(int,int)

yu3350360 2010-06-02 07:27:23
如题目,有表达不清晰的地方,望谅解.
...全文
475 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
yu3350360 2010-06-09
  • 打赏
  • 举报
回复
没人顶 结贴了。。
yu3350360 2010-06-03
  • 打赏
  • 举报
回复
这么说吧 typedef int NITEGER;
INTEGER 代表int类型,
而 INTEGER i;与int i;是等价的
那么应该怎么用typedef 定义个 与int *fun(int,int);等价的类型 形式呢?
yu3350360 2010-06-02
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 lthyxy 的回复:]
楼主倒是把我搞糊涂了。仔细看看书再来问吧
[/Quote]
哈哈 真不好意思了
我正处于走火入魔阶段,哎~。。
liutengfeigo 2010-06-02
  • 打赏
  • 举报
回复

楼主倒是把我搞糊涂了。仔细看看书再来问吧
djjlove_2008 2010-06-02
  • 打赏
  • 举报
回复
#include <stdio.h>
int c;
int* fun(int a, int b)//指针型函数
{
c=a+b;
return &c;
}
int main()
{
int* (*p)(int,int);//函数指针定义
p=fun;//函数指针赋值
int *d=(*p)(1,2);//函数指针调用
printf("%d",*d);


getchar();
return 0;
}
分全给楼上给出如此代码的小伙子吧。犀利
yoan_T 2010-06-02
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 yu3350360 的回复:]
引用 9 楼 yoan_t 的回复:
引用 8 楼 yu3350360 的回复:
引用 5 楼 thefirstz 的回复:
不太明白这题目的意思,指针函数是指函数的返回值类型是一个指针类型,本质上还是一个函数。

恩 这明白的,那就简单的说用typedef 定义个 函数 int fun(int,int),该怎么定义呢?

int fun(int,int)定义成函数指针就是
int……
[/Quote]
是不对的在函数类型后面是跟一个指针的这个指针呢就是函数指针
因此跟在函数类型后面的必定是一个(*指针名) 然后后面跟的是参数表
你当中的FUN并不是指针,所以并非函数指针
yu3350360 2010-06-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yoan_t 的回复:]
引用 8 楼 yu3350360 的回复:
引用 5 楼 thefirstz 的回复:
不太明白这题目的意思,指针函数是指函数的返回值类型是一个指针类型,本质上还是一个函数。

恩 这明白的,那就简单的说用typedef 定义个 函数 int fun(int,int),该怎么定义呢?

int fun(int,int)定义成函数指针就是
int (*p) (int,int);
函数……
[/Quote]
no no
你没有理解我说的意思,你看下二楼兄弟的代码,这是定义了个FUN 函数指针,带两个int型参数,且返回值是int型的指针

int* fun(int a, int b){return 0;}
typedef int* (*FUN)(int,int);
FUN pfun = fun;

那么我想说的就是,把int *fun(int,int) 中的函数名用typedef定义成其他的名字。

int* fun(int a, int b){return 0;}
typedef int* FUN(int,int);
FUN pfun = fun;

这样子对嘛?
yoan_T 2010-06-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 yu3350360 的回复:]
引用 5 楼 thefirstz 的回复:
不太明白这题目的意思,指针函数是指函数的返回值类型是一个指针类型,本质上还是一个函数。

恩 这明白的,那就简单的说用typedef 定义个 函数 int fun(int,int),该怎么定义呢?
[/Quote]
int fun(int,int)定义成函数指针就是
int (*p) (int,int);
函数类型 声明个指针 参数表
p就是函数指针了
然后将fun赋给p就OK了
p=fun;
yu3350360 2010-06-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 thefirstz 的回复:]
不太明白这题目的意思,指针函数是指函数的返回值类型是一个指针类型,本质上还是一个函数。
[/Quote]
恩 这明白的,那就简单的说用typedef 定义个 函数 int fun(int,int),该怎么定义呢?
yoan_T 2010-06-02
  • 打赏
  • 举报
回复
#include <stdio.h>
int c;
int* fun(int a, int b)//指针型函数
{
c=a+b;
return &c;
}
main()
{
int* (*p)(int,int);//函数指针定义
p=fun;//函数指针赋值
int *d=(*p)(1,2);//函数指针调用
printf("%d",*d);
}
cwwql 2010-06-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 thefirstz 的回复:]
这个?

C/C++ code
int* fun(int a, int b){return 0;}
typedef int* (*FUN)(int,int);
FUN pfun = fun;
[/Quote]
函数指针的类型是返回int* 并且参数是两个int型的函数。
这个大概就是题目的要求把。
昵称很不好取 2010-06-02
  • 打赏
  • 举报
回复
不太明白这题目的意思,指针函数是指函数的返回值类型是一个指针类型,本质上还是一个函数。
yu3350360 2010-06-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 thefirstz 的回复:]
这个?

C/C++ code
int* fun(int a, int b){return 0;}
typedef int* (*FUN)(int,int);
FUN pfun = fun;
[/Quote]
定义一个指针型函数,且定义一个指针型函数类型变量,函数原型是int *fun(int,int)
是面试题目,大概就这个意思
typedef int* (*FUN)(int,int); 这个应该是定义了一个函数指针吧。
那定义个指针型函数是不是这样子呢 typedef int* FUN(int,int);
定义一个指针型函数类型变量 FUN f1;
这样子对不对呢?
请指正。
anniue 2010-06-02
  • 打赏
  • 举报
回复
讲清楚啊,想说明什么问题?
dadun 2010-06-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 thefirstz 的回复:]
这个?

C/C++ code
int* fun(int a, int b){return 0;}
typedef int* (*FUN)(int,int);
FUN pfun = fun;
[/Quote]

看不懂。。。能详细解释一下吗?谢谢。。
昵称很不好取 2010-06-02
  • 打赏
  • 举报
回复
这个?
int* fun(int a, int b){return 0;}
typedef int* (*FUN)(int,int);
FUN pfun = fun;

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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