【浅谈】可变参数列表

本文介绍了可变参数列表的概念,通过实例分析了如何实现一个求平均值的函数,揭示了`va_list`、`_crt_va_start`、`_crt_va_arg`和`_crt_va_end`等宏在函数中的作用,帮助读者理解可变参数列表的工作原理。
摘要由CSDN通过智能技术生成

【浅谈】可变参数列表

什么是可变参数列表?

  这里我在网上查了一些资料,发现并没有对可变参数列表做出的定义,那么我以我的理解给可变参数列表做出一个简单的定义(如果有不准确的地方,希望大家在留言区指出):
  可变参数列表:通过实现函数多个参数传递,使得函数的参数个数可以为一个到N个,这就是可变参数列表。
  

为什么需要可变参数列表?

  不知道大家有没有留意过在C语言学习过程中常用到的printf ( ) 这个函数,它的参数居然可以是一个到多个,而且参数类型可以不同,就如同下面的这几句代码,printf居然都通通搞的定,而平时我们写出的代码,却只能传递固定个参数。想必没有想到的同学被我这么提醒,也会对printf ( ) 的实现感到好奇吧?

    #include <stdio.h>

    int main()
    {

        printf("hello world\n");  //一个参数

        printf("hello ""world\n");  //一个参数

        printf("%s\n", "hello world");  //两个参数

        printf("%s %s\n", "hello", "world");  //三个参数

        return 0;
    }

  是不是很神奇?那么下面我将带领大家领略一下可变参数列表的神奇。
  

average的实现(求平均值函数)

  这里我希望先通过实现求平均值函数的这个过程让大家明白,可变参数列表究竟是怎么一回事。 <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值