| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1382 人关注过本帖
标题:atexit函数的调用带参的函数
只看楼主 加入收藏
大头小脑
Rank: 1
来 自:512的废墟
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-10-7
收藏
 问题点数:0 回复次数:9 
atexit函数的调用带参的函数
#include<stdlib.h>
#include<stdio.h>
int atexit(void (*function)());

void test(int a)
{
printf("test %d",a);
}

void fun()
{
printf("fun");
}

int main(){
atexit(fun);/*调用fun函数,正常,如果我要调用的test函数应该怎么写这句呢?*/
printf("hello");
return 0;
}

这个程序正常运行。
我想问下各位,如果我的test函数有参数应该怎么调用呢?
搜索更多相关主题的帖子: 函数 atexit 
2008-10-07 20:30
woainvzu
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-10-5
收藏
得分:0 
我不知道~
帮你顶起~

道可道,非常道~
2008-10-07 20:31
大头小脑
Rank: 1
来 自:512的废墟
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-10-7
收藏
得分:0 
又见楼主
int atexit(void (*function)());//还有这句,如果调用的是test函数,应该怎么写呢?
2008-10-07 20:33
lingluoz
Rank: 2
来 自:苏州科技学院
等 级:新手上路
威 望:4
帖 子:749
专家分:0
注 册:2008-2-2
收藏
得分:0 
最笨的办法就是写一个test_a(){test(x) ;}其中x可以是全局变量 另外好的办法我确实想不出来了

Murphy's Law :
If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
2008-10-07 20:47
asd6791868
Rank: 1
来 自:逆流
等 级:新手上路
帖 子:362
专家分:7
注 册:2008-7-27
收藏
得分:0 
!!!
atexit 函数有什么作用。。。。

─條路 :  ┈片天  ┈個人  ─瞬間:
2008-10-07 21:08
大头小脑
Rank: 1
来 自:512的废墟
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-10-7
收藏
得分:0 
回复 4# lingluoz 的帖子
全局变量也是个办法…… 谢谢  再等等看看还有没有其他的方法

补充:
楼上同学可以把我的代码运行下哈:
atexit那句话的意思是 在main函数运行结束后才运行的
所以运行结果是
hello
fun
注意打印出来的顺序
2008-10-07 21:14
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
#include<stdlib.h>
#include<stdio.h>

typedef int (*pFunc)(int a);

int test(int a)
{
     printf("test %d",a);
     return 0;
}

int main()
{
    pFunc pFunc1 = test;
    pFunc1(4);
    printf("hello");
    getchar();
    return 0;
}
2008-10-07 23:29
大头小脑
Rank: 1
来 自:512的废墟
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-10-7
收藏
得分:0 
atexit没有用到啊?

失去得到的是感想
其实都一样平常
其实没什么两样
哒哒 哒哒哒哒~~
2008-10-07 23:52
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1687
专家分:4253
注 册:2007-12-27
收藏
得分:0 
它只能调用无参函数,所以将就一下使用全局变量吧
2008-10-08 12:32
沼泽
Rank: 4
等 级:业余侠客
威 望:8
帖 子:291
专家分:228
注 册:2008-9-15
收藏
得分:0 
函数名: atexit
  功 能: 注册终止函数
  用 法: int atexit(atexit_t func);
  注意:atexit()注册的函数类型应为不接受任何参数的void函数。
所以楼主要调用有参的函数用atexit是没办法的
2008-10-08 12:38
快速回复:atexit函数的调用带参的函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022659 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved