程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C語言函數可變參數列表,函數可變參數列表

C語言函數可變參數列表,函數可變參數列表

編輯:C++入門知識

C語言函數可變參數列表,函數可變參數列表


  C語言允許使用可變參數列表,我們常用的printf函數即為可變參數函數,C標准庫提供了stdarg.h為我們提供了這方面支持;該頭文件提供了一些類型和宏來支持可變參數列表,包括類型va_list,宏va_start、va_arg、va_end;

  可變函數參數定義方法:

#include <stdarg.h>

void func(int count,...){
        va_list ap;
        int ix, tmp;

        va_start(ap, a);
        
        for(ix=0;ix < count; ++ix){
                tmp = va_arg(ap, int);
                //process the param
        }
        
        va_end(ap);
}    

   函數的第一個參數count是必不可少的,即你定義的可變參數列表函數至少要有一個參數;

  va_list:一般會定義為char *;

  va_start(va_list ap, paramN):初始化ap的值,指向第一個可變參數

  va_arg(va_list ap, TYPE):將根據TYPE從ap指向出獲得實際的值,並移動ap指針

  va_end: 一般什麼都不做

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved