C biblioteca de macros - va_start ()
C biblioteca estándar - <stdarg.h>
descripción
biblioteca de C macrovacío va_start (va_list ap, last_arg) variable apinicializado, seva_argy macrosva_endse utilizan juntos.last_arg pasado a la función es el último parámetro fijo conocido, los parámetros anteriores suspensivos.
Esta macro debe ser llamado antes de usarva_arg y va_end.
declaración
Aquí está el va_start () instrucción de macro.
void va_start(va_list ap, last_arg);
parámetros
- ap - es un objeto de va_listtipo que se utiliza para almacenar parámetros adicionales a través de lava_argobtener la información necesaria.
- last_arg - última función conocida parámetro fijo que se le pasa.
Valor de retorno
NA
Ejemplos
El siguiente ejemplo demuestra el va_start () Uso de macros.
#include<stdarg.h> #include<stdio.h> int sum(int, ...); int main(void) { printf("10、20 和 30 的和 = %d\n", sum(3, 10, 20, 30) ); printf("4、20、25 和 30 的和 = %d\n", sum(4, 4, 20, 25, 30) ); return 0; } int sum(int num_args, ...) { int val = 0; va_list ap; int i; va_start(ap, num_args); for(i = 0; i < num_args; i++) { val += va_arg(ap, int); } va_end(ap); return val; }
Vamos a compilar y ejecutar el programa anterior, lo que resultará en lo siguiente:
10、20 和 30 的和 = 60 4、20、25 和 30 的和 = 79