<kbd id="daqct"></kbd>

  • <nav id="daqct"></nav>
    <wbr id="daqct"><pre id="daqct"></pre></wbr>
    <wbr id="daqct"></wbr>
    <form id="daqct"><th id="daqct"></th></form>
    更多課程 選擇中心

    C/C++培訓
    達內IT學院

    400-111-8989

    C語言中可變參數列表的剖析

    • 發布:C++培訓
    • 來源:學習筆記
    • 時間:2017-05-11 16:00

     C語言中的可變參數是一個比較有意思的實現,通過將函數實現為可變參數的形式,可以使得函數可以接收1個以上的任意多個參數(不固定)。

            可變參數列表是通過宏來實現的,這些宏定義于stdarg.h里面,也是標準庫一一部分,頭文件里聲明一個類型va_list和三個宏va_start va_arg  va_end我們一般是聲明一個類型為va_list的變量,再配合這三個宏來使用。

            舉一個簡單的例子

            題目:求幾個數的平均值。


    [cpp] view plain copy
    1. int Average(int n, ...)    
    2. {    
    3.     int i=0;    
    4.     int sun=0;    
    5.     va_list arg;//聲明一個va_list類型的變量arg,用于訪問參數列表中的未知參數    
    6.     va_start(arg, n);//調用va_start初始化arg變量,使得arg指向可變參數中的第一個參數    
    7.     for(i=0;i<n;i++)    
    8.     {    
    9.         sum+=va_arg(arg, int);//va_arg返回這個參數的值,并且指向下參數列表中一個參數    
    10.     }    
    11.     va_end(arg);//最后一個參數訪問完,調用va_end    
    12.     return (sum/n);    
    13. }   

      另外,在使用可變參數函數時,我們應該注意到可變參數的限制
    (1)可變參數必須從頭到尾逐個訪問,不能按照自己的意愿訪問中間參數
    (2)參數列表中至少有一個命名參數,否則無法使用va_start
    (3)這些宏無法直接判斷實際存在的參數數量
    (4)一定要注意使用va_arg中的類型指定,否則很危險

    預約申請免費試聽課

    填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

    上一篇:C語言中使用指針與數組的區別
    下一篇:C#初學者對Equals方法的幾個常見誤解

    C語言創建windows窗口實例

    C++回調函數是什么?

    C++ shared_ptr和動態數組

    C語言有哪些關鍵詞,C語言44個關鍵詞大全

    • 掃碼領取資料

      回復關鍵字:視頻資料

      免費領取 達內課程視頻學習資料

    • 視頻學習QQ群

      添加QQ群:1143617948

      免費領取達內課程視頻學習資料

    Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

    選擇城市和中心
    黑龍江省

    吉林省

    河北省

    湖南省

    貴州省

    云南省

    廣西省

    海南省

    欧美三级片,白洁外传,第四色播日韩AV第一页,啪啪免费观看大全av 百度 好搜 搜狗
    <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>