社区
C语言
帖子详情
函数的指针(按书上照葫芦画瓢都错)
napoleonpan1
2003-08-19 05:28:47
//比较大小
#include<iostream.h>
int max(int x,int y)
{
if(x>y)return x;
else return y;
}
void main()
{
int max(int,int);
int a,b,c;
int (*p)();
cin>>a>>b;
p=max;//出错显示cannot conver int(*)(int,int) to int(*)()
c=(*p)(a,b);
cout<<c;
}
...全文
38
8
打赏
收藏
函数的指针(按书上照葫芦画瓢都错)
//比较大小 #include int max(int x,int y) { if(x>y)return x; else return y; } void main() { int max(int,int); int a,b,c; int (*p)(); cin>>a>>b; p=max;//出错显示cannot conver int(*)(int,int) to int(*)() c=(*p)(a,b); cout<<c; }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ehhl
2003-08-19
打赏
举报
回复
#include<iostream.h>
int max(int x,int y)
{
if(x>y)
return x;
else
return y;
}
void main()
{
//int max(int,int);此处可以不要
int a,b,c;
int (*p)(int,int);//此处声明如下
cin>>a>>b;
p=max;
c=(*p)(a,b);
cout<<c;
}
yellowwolf
2003-08-19
打赏
举报
回复
Wolf0403(完美废人)
能不能说说你那函数指针的用法,我看了书上说一般用于错误时回调的,VC里有的好多。
但自己没有用过,能不能给个例子出来看看啊。
非常谢了。
Wolf0403
2003-08-19
打赏
举报
回复
函数指针不多用?呵呵
我最近 n 个程序为了给客户推卸责任,都是用函数指针处理错误:)
jack_wq
2003-08-19
打赏
举报
回复
一般函数指针不多用!
yellowwolf
2003-08-19
打赏
举报
回复
#include<iostream.h>
int max(int x,int y)
{
if(x>y)return x;
else return y;
}
void main()
{
int max(int,int);
int a,b,c;
int (*p)(int, int);
cin>>a>>b;
p=&max;
c=(*p)(a,b);
cout<<c;
}
napoleonpan1
2003-08-19
打赏
举报
回复
谢过,调试通过
junglesong
2003-08-19
打赏
举报
回复
#include<iostream.h>
int max(int x,int y)
{
if(x>y)return x;
else return y;
}
void main()
{
int max(int,int);
int a,b,c;
int (*p)(int,int);//这里修正一下就可以了。
cin>>a>>b;
p=max;//出错显示cannot conver int(*)(int,int) to int(*)()
c=(*p)(a,b);
cout<<c;
}
sevecol
2003-08-19
打赏
举报
回复
max是返回值是int,有两个参数(都是int)的函数类型。
而p是无参数,返回值是int的类型。
应该这样定义p
int (*p)(int,int)
《C经典面试》编译链接、
指针
、内存bug、
函数
、其它
指针
:
指针
概念、数组相关的
指针
、字符串
指针
、
函数
指针
等 3.内存bug:内存越位、内存覆盖、使用非法内存、内存泄露等。 4.
函数
:自定义
函数
、内联
函数
、回调
函数
、变参
函数
、递归
函数
、库
函数
等 5.其它:自动类型...
GlusterFS源码学习——
函数
指针
数组的妙用
GlusterFS使用C编写,源码中使用了大量的
函数
指针
来实现模块化编程(是我自己以前没有接触过的编写方式),这样的方式可以很方便的实现功能扩展以及调用。 今天学习的是
函数
指针
数组,也就是把相同系列的
函数
的
函数
指针
存放到一个数组中,通过这个数组和对应于
函数
操作的编号来进行调用。源码中代码很多,而且跳来跳去的很麻烦,所以自己
照葫芦画瓢
写了一个小的demo来加深印象,用来学习和记忆该方法。 本文前面部分是自己的小demo,后面是GlusterFS的部分源码。 demo /* 用来练习
函数
指针
数组的的小demo
二重
指针
的使用
1、为什么会在传参的时候用二重
指针
呢? 要想弄明白这个问题,先搞清楚为什么传参的时候用
指针
? 我想很多人都知道直接传值是不会改变实参的值的,只能改变形参的值。所以我们把参数设定为地址,即、传参时用
指针
,我们就可以改变实参的值。 2、那么考虑一下另外一种情况,我们如果想要改变的实参是一个地址呢?那我们直接把地址值作为形参传进去,
函数
是不会改变实参(地址值)的。那我们想要改变这个地址值,要怎么办呢?
照葫芦画瓢
呗!我们知道
指针
(地址)也是变量,它也存在一个地址中,所以我们把存
指针
的地址(二重
指针
)作为形
二维数组的动态内存申请,采用子
函数
的方式 为二级
指针
申请内存,和释放内存
原理:二级
指针
,行
指针
+列
指针
照着葫芦画瓢就行。 方法一:用c语言malloc实现 #include<cstdio> #include<iostream> #include<cstring> #include<string> //二维数组的动态内存申请,采用子
函数
的方式 为二级
指针
申请内存,和释放内存 int** creatArray2D(int row, int col) { //int *p=(int*)malloc(sizeof(in.
C/C++ 快速搞懂
函数
指针
数组
由上面的例子,我们知道
指针
可以存放在数组当中,那么小伙伴们现在肯能会很好奇,
函数
可以存放在数组当中吗?答案是肯定的,我们称存放
函数
地址的数组叫
函数
指针
数组。//这是一个返回值为int,两个参数为int,的
函数
指针
。如果这个仔细看完你还不懂,那说明你
函数
指针
、
指针
函数
、
指针
数组、数组
指针
没有学明白,请好好学习后,再来观看。我们见过将不同的
指针
类型放进数组存放,这样的数组我们称之为
指针
数组。//将
函数
地址存放在
指针
p3中。
C语言
69,381
社区成员
243,074
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章