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

c語言 可變參數的使用

編輯:關於C
主要涉及函數
va_list ap 聲明一個指針
va_start(ap,arg) 將ap指向到最後一個確定的參數arg
va_arg(ap,size) 將ap儲存的地址加size,指向下一個參數
va_end(ap) 將ap賦值為NULL


#include
#include

int sum(int, ...);

int main(void)
{
   printf(Sum of 10, 20 and 30 = %d
,  sum(3, 10, 20, 30) );
   printf(Sum of 4, 20, 25 and 30 = %d
,  sum(4, 4, 20, 25, 30) );

   return 0;
}

int sum(int num_args, ...)
{
   int val = 0;
   va_list ap; //指向參數的指針
   int i;

   va_start(ap, num_args);  //將指針ap指向最後一個確定的參數
   for(i = 0; i < num_args; i++)
   {
      val += va_arg(ap, int); //va_arg(),將指針ap指向可變參數的首地址
   }
   va_end(ap); //將指針ap賦值為NULL
 
   return val;
}

運行結果:
10、20 和 30 的和 = 60
4、20、25 和 30 的和 = 79

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