C 語言基礎(chǔ)教程

C 語言流程控制

C 語言函數(shù)

C 語言數(shù)組

C 語言指針

C 語言字符串

C 語言結(jié)構(gòu)體

C 語言文件

C 其他

C 語言參考手冊

C 庫宏 va_start() 使用方法及示例

C 標(biāo)準(zhǔn)庫 - <stdarg.h>

C 庫宏 void va_start(va_list ap, last_arg) 初始化 ap 變量,它與 va_argva_end 宏是一起使用的。last_arg 是最后一個傳遞給函數(shù)的已知的固定參數(shù),即省略號之前的參數(shù)。

這個宏必須在使用 va_argva_end 之前被調(diào)用。

聲明

下面是 va_start() 宏的聲明。

void va_start(va_list ap, last_arg);

參數(shù)

  • ap --  這是一個 va_list 類型的對象,它用來存儲通過 va_arg 獲取額外參數(shù)時所必需的信息。

  • last_arg --  最后一個傳遞給函數(shù)的已知的固定參數(shù)。

返回值

NA

在線示例

下面的示例演示了 va_start() 宏的用法。

#include<stdarg.h>
#include<stdio.h>
int sum(int, ...);
int main(void)
{
    printf("210, 70, 90 的和 = %d\n", sum(3, 210, 70, 90));
    printf("5, 15, 34, 50 的和 = %d\n", sum(4, 5, 15, 34, 50));
    return 0;
}
int sum(int num_args, ...)
{
    int val = 0;
    va_list ap;
    int i;
    va_start(ap, num_args);
    for (i = 0; i < num_args; i++)
    {
        val += va_arg(ap, int);
    }
    va_end(ap);

    return val;
}

讓我們編譯并運行上面的程序,這將產(chǎn)生以下結(jié)果:

210, 70, 90 的和 = 370
5, 15, 34, 50 的和 = 104

C 標(biāo)準(zhǔn)庫 - <stdarg.h>

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清