c中可变可变参数

C++支持参数有默认参数, 参数占位符,可变参数:

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>  // 必须要这个头文件,获取参数的函数在这个头文件中

//C++中函数可变参数
//API都会提示用户传参数类型
void func_param(int a, ...){
    //获取可变参数
    //定义可变参数指针
    va_list args_p;
    //首先指定可变参数开始位置,通过开始位置,使用指针,一路往下指,一个一个的取出来
    va_start(args_p, a);
    //一个个获取(按照顺序读取)
    //第一个参数int类型
    int arg_int = va_arg(args_p, int);
    printf("第一个参数: %d\n", arg_int);
    
    //第二个参数char类型
    char arg_char = va_arg(args_p, char);


    printf("第二个参数: %c\n", arg_char);
    
    //第三个参数double类型
    double arg_float = va_arg(args_p, double);

    printf("第三个参数: %f\n", arg_float);
    
    //结束
    va_end(args_p);

}

****************************************************

void main(){
    func_param(3, 40, 'A', 45.3);

    system("pause");
}

发布了141 篇原创文章 · 获赞 51 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/dreams_deng/article/details/82220428