• C 可变参数


    参考链接:https://www.runoob.com/cprogramming/c-variable-arguments.html
    怎样让函数接受不同个数的参数呢,可以通过stdarg.h头文件提供的函数和宏来实现。此头文件提供了实现可变参数功能相关的函数和宏。

    可变参数的形式

    //定义
    int func(int num ,...){//真真的就是这样定义的,就是有省略号,前面除了表示接受个数的num外,还可以自定义其他参数
    ……
    }
    //使用
    result=func(2,a1,a2);//在使用这个函数的时候,第一个值必须时int类型,代表这次传递参数的个数
    

    过程

    #include <stdio.h>
    #include <stdarg.h>
    
    int add(int num ,...){
        //在函数中定义一个va_list类型变量,该类型是由stdarg.h头文件中定义的
        va_list valist;
        int result =0;
        //使用 add()中的int 参数和va_start宏来初始化va_list类型变量为一个参数列表,宏va_start是一个定义在stdarg.h中的函数
        va_start(valist,num);//初始化后会把所有接收到的可变参数都放在了valist中
        //使用va_arg宏和va_list类型变量来访问参数列表中每一个项
        int i;
        for(i=0;i<num;i++){
            result+=va_arg(valist,int);//i并不参与
        }
        //当对可变参数的访问结束后,使用va_end来清理赋予va_list类型变量的内存
        va_end(valist);
        return result;
    }
    int  main(){
        //使用
       printf("结果是:%d",add(2,10,10));
       printf("结果是:%d",add(3,10,10,10));
    
    }
    
  • 相关阅读:
    Linux 命令查找文件中某个字段所存在的位置
    PHP in_array() 函数
    php一维数组如何追加到二维数组
    电脑切换窗口
    微擎前端逻辑判断的时弹框
    JDBC批量处理
    数据库事务
    处理BLOB
    JDBC自动生成主键值
    JDBC的元数据
  • 原文地址:https://www.cnblogs.com/Gaoqiking/p/11735410.html
Copyright © 2020-2023  润新知