亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
12下一頁(yè)
最近訪問(wèn)板塊 發(fā)新帖
查看: 9722 | 回復(fù): 10
打印 上一主題 下一主題

[C] 使用函數(shù)指針時(shí),該函數(shù)的參數(shù)如何傳遞 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2014-04-17 18:11 |只看該作者 |倒序?yàn)g覽
例如:
void debug(int val)
{
    printf("val=%d\n", val);
    return;
}

int main()
{
    int second = 5;
   
    /*5秒鐘之后打印val*/
    eloop_register(second, &debug);

    return 0;
}


想問(wèn)下,怎么才能將val的值傳過(guò)去呢?

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
2 [報(bào)告]
發(fā)表于 2014-04-17 19:42 |只看該作者
(*debug)(1);

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2014-04-17 19:43 |只看該作者
eloop_register的原型應(yīng)該是return_type eloop_register(int, void (*f)(int));
所以參數(shù)應(yīng)該在eloop_register函數(shù)里提供的給指針f進(jìn)行調(diào)用函數(shù)debug。

論壇徽章:
59
2015年亞洲杯之約旦
日期:2015-01-27 21:27:392015年亞洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵節(jié)徽章
日期:2015-03-06 15:50:392015年亞洲杯之阿聯(lián)酋
日期:2015-03-19 17:39:302015年亞洲杯之中國(guó)
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03雙子座
日期:2014-12-10 21:39:16處女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
4 [報(bào)告]
發(fā)表于 2014-04-17 19:52 |只看該作者
你要給eloop_register(second, &debug);再加個(gè)參數(shù),將val傳進(jìn)去

論壇徽章:
4
白羊座
日期:2013-09-17 21:59:30技術(shù)圖書(shū)徽章
日期:2013-10-12 22:16:03白羊座
日期:2013-10-14 11:01:40雙子座
日期:2013-12-17 18:26:39
5 [報(bào)告]
發(fā)表于 2014-04-17 20:03 |只看該作者
c or c++?

論壇徽章:
59
2015年亞洲杯之約旦
日期:2015-01-27 21:27:392015年亞洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵節(jié)徽章
日期:2015-03-06 15:50:392015年亞洲杯之阿聯(lián)酋
日期:2015-03-19 17:39:302015年亞洲杯之中國(guó)
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03雙子座
日期:2014-12-10 21:39:16處女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
6 [報(bào)告]
發(fā)表于 2014-04-17 22:18 |只看該作者
回復(fù) 4# folklore


    q你已經(jīng)將second傳過(guò)去了, 直接
debug(sencond);不就完了。

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2014-04-18 09:28 |只看該作者
本帖最后由 luoops 于 2014-04-18 09:33 編輯

可能我沒(méi)表達(dá)清楚,我是想問(wèn)debug這個(gè)函數(shù)的參數(shù)怎么傳過(guò)去?
我自己寫(xiě)的eloop_register,代碼如下:
void init_sig_action(void (*handler)(int))
{
        struct sigaction sig_act;

        if(NULL == handler) {
                return;
        }

        sig_act.sa_handler = handler;
        sig_act.sa_flags = 0;

        sigemptyset(&sig_act.sa_mask);
        sigaction(SIGALRM, &sig_act, NULL);

        return;
}

void init_time(int seconds)
{
        struct itimerval timer;

        timer.it_value.tv_sec = seconds;
        timer.it_value.tv_usec = 0;
        timer.it_interval = timer.it_value;

        setitimer(ITIMER_REAL, &timer, NULL);

}

void eloop_register_timer(int seconds, void (*handler)(int))
{
        if((seconds <= 0) || (NULL == handler)) {
                return;
        }

        init_sig_action(handler);
        init_time(seconds);

        return;
}
回復(fù) 3# libo26_lee


   

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2014-04-18 09:30 |只看該作者
eloop_register是可以加參數(shù),但是debug怎么接受呢?
并不是在eloop_register里面直接調(diào)用debug。。。。回復(fù) 4# folklore


   

論壇徽章:
59
2015年亞洲杯之約旦
日期:2015-01-27 21:27:392015年亞洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵節(jié)徽章
日期:2015-03-06 15:50:392015年亞洲杯之阿聯(lián)酋
日期:2015-03-19 17:39:302015年亞洲杯之中國(guó)
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03雙子座
日期:2014-12-10 21:39:16處女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
9 [報(bào)告]
發(fā)表于 2014-04-18 14:10 |只看該作者
回復(fù) 8# luoops


這個(gè)沒(méi)辦法, 信號(hào)處理函數(shù)基本就不會(huì)接受多余的參數(shù)。

論壇徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46處女座
日期:2013-10-24 14:25:01酉雞
日期:2014-04-07 11:54:15
10 [報(bào)告]
發(fā)表于 2014-04-20 09:49 |只看該作者
  1. NAME
  2.        sigqueue - queue a signal and data to a process

  3. SYNOPSIS
  4.        #include <signal.h>

  5.        int sigqueue(pid_t pid, int sig, const union sigval value);

  6. DESCRIPTION
  7.        sigqueue()  sends  the signal specified in sig to the process whose PID is given in pid.  The permissions required to send a
  8.        signal are the same as for kill(2).  As with kill(2), the null signal (0) can be used to check if a process with a given PID
  9.        exists.

  10.        The  value  argument  is used to specify an accompanying item of data (either an integer or a pointer value) to be sent with
  11.        the signal, and has the following type:

  12.          union sigval {
  13.              int   sival_int;
  14.              void *sival_ptr;
  15.          };

  16.        If the receiving process has installed a handler for this signal using the SA_SIGINFO flag  to  sigaction(2),  then  it  can
  17.        obtain  this  data via the si_value field of the siginfo_t structure passed as the second argument to the handler.  Further-
  18.        more, the si_code field of that structure will be set to SI_QUEUE.
復(fù)制代碼
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP