zoukankan      html  css  js  c++  java
  • C 可变参数(C与指针实例)

    偶尔我们需要设计一些函数,它们的参数数目不是固定的,这样我们需要用到可变参数列表。

    可变参数列表是通过宏来实现的,定义于stdarg.h头文件。

    具体内容在《C与指针》

     1 #include <stdarg.h>
     2 #include <stdio.h>
     3 
     4 float average(int n_values, ... )
     5 {
     6     va_list var_arg; //用于访问参数列表的未确定部分,通过va_start来初始化
     7     int count;
     8     float sum = 0;
     9 
    10     /*
    11         准备访问可变参数
    12      */
    13     va_start( var_arg, n_values );  //第一个参数为va_list变量的名字,第二个参数为省略号前最后一个有名字的参数。初始化过程把va_list变量设置为指向可变参数的第一个参数
    14     
    15     /*
    16         添加取自可变参数列表的值
    17      */
    18     for( count = 0; count < n_values; count += 1 )
    19     {
    20         sum += va_arg( var_arg, int );  //可变参数必须从头到尾顺序逐个访问。在va_arg中注意不可以指定错误的类型。
    21     }
    22 
    23     /*
    24         完成处理可变参数
    25      */
    26     va_end( var_arg );
    27 
    28     return sum / n_values;
    29 }
    30 
    31 int main()
    32 {
    33     int a = average(1012345678910);
    34     printf("The average: %d ", a);
    35     return 0;
    36 }
  • 相关阅读:
    Unity Shader入门精要学习笔记
    Unity Shader入门精要学习笔记
    zabbix_server部署,启动,及端口未监听问题
    Linux Git服务器安装
    GitHub
    nginx 认证访问web
    Jenkins可持续集成
    svn
    mariadb安装配置
    nginx跟tp5无法加载控制器
  • 原文地址:https://www.cnblogs.com/alan-forever/p/3290274.html
Copyright © 2011-2022 走看看