可变参数编程

    技术2026-04-06  0

    第一次看见可变参数编程的的例子,记录下来,应该会有用到的时候。

    #include <stdio.h>

    #include <stdarg.h>

     

    int print_args(int begin, ...)

    {

        va_list ap;

        char *p;

        int n;

     

        va_start(ap, begin);

        p = va_arg(ap, char *);

        n = 0;

       

        while(p != NULL)

        {

             n++;

             printf("arg %d : %s/n", n, p);

             p = va_arg(ap, char *);

        }

       

        va_end(ap);

       

        return n;

    }

     

    备注:

    1,stdarg.h头文件定义一系列宏来处理这个可变长度的参数列表。

    2,va_list 该类型的变量代表整个参数的列表。

    3,va_start 初始化,使其指向第一个可变的参数,只有初始化之后,ap才能代表整个参数列表。

    4,va_arg

    5,对于可变参数函数,其中的第一个参数的类型是固定的,在定义的时候必须定义好,比如begin

    最新回复(0)