传值问题
来源:互联网 发布:手机防辐射软件 编辑:程序博客网 时间:2024/06/06 20:32
#include<stdio.h>
int inc(int a)
{
return (++a);
}
int multi(int *a,int *b,int *c)
{
return (*c=*a* *b);
}
typedef int (*FUNC1)(int in);//定义一个函数指针FUNC1,这个函数带有1个int , 返回int型.
typedef int (*FUNC2)(int*,int*,int*);//定义一个函数指针FUNC2,这个函数带有3个int *, 返回int型.
void show(FUNC2 fun,int arg1,int *arg2)
FUNC1 p=&inc;//FUNC1类型 函数指针p 指向函数inc的首地址
int temp=p(arg1);//此时调用函数inc,参数为10,返回值为11
fun(&temp,&arg1,arg2);//调用函数multi,参数为(11,10,arg2) arg2为指针变量负责带回返回值
printf("%d\n",*arg2);//输出 110
}
int main()
{
int a;
show(multi,10,&a);
getchar();
return 0;
}
若这样定义typedef int(FUNC1)(int in);那么把FUNC1 p = inc;改成FUNC1 *p = inc;
int inc(int a)
{
return (++a);
}
int multi(int *a,int *b,int *c)
{
return (*c=*a* *b);
}
typedef int (*FUNC1)(int in);//定义一个函数指针FUNC1,这个函数带有1个int , 返回int型.
typedef int (*FUNC2)(int*,int*,int*);//定义一个函数指针FUNC2,这个函数带有3个int *, 返回int型.
void show(FUNC2 fun,int arg1,int *arg2)
FUNC1 p=&inc;//FUNC1类型 函数指针p 指向函数inc的首地址
int temp=p(arg1);//此时调用函数inc,参数为10,返回值为11
fun(&temp,&arg1,arg2);//调用函数multi,参数为(11,10,arg2) arg2为指针变量负责带回返回值
printf("%d\n",*arg2);//输出 110
}
int main()
{
int a;
show(multi,10,&a);
getchar();
return 0;
}
若这样定义typedef int(FUNC1)(int in);那么把FUNC1 p = inc;改成FUNC1 *p = inc;
阅读全文
0 0
- 传值问题
- 传值问题
- javascript 传值问题
- struts2传值问题
- struts2传值问题
- java传值问题.
- Struts传值问题
- 复制传值问题
- & 传值问题
- 传值问题
- 页面传值问题
- 窗体传值问题
- 传值问题
- iframe 传值问题
- 页面传值问题
- struts2传值问题
- Struts传值问题
- Json传值问题
- Cannot perform this operation because there is no current transaction(不能执行此操作,因为没有当前事务。)
- Android内存泄露
- 【struts基础】Struts2的拦截器
- 阿里面试题
- ConcurrentHashMap源码分析(JDK8版本)
- 传值问题
- Spring boot MySQL Access denied
- @RequestMapping 和@RequestParam
- HttpMessageConverter(消息转换器 )和@responsebody使用
- 51nod1085背包问题
- mybatis的setting元素设置
- shell编程之对数据库的操作
- spring jms DefaultMessageListenerContainer分析
- 蓝牙: 一小时蓝牙科普