Latest web development tutorials
×

C курс

C Язык учебника C Краткое введение C параметры окружающей среды C Структура программы C Базовый синтаксис C Типы данных C переменная C постоянная C Storage Class C операторы C судья C циркуляция C функция C Обзорное правила C массив C указатель C строка C структура C союз C поле Bit C typedef C Входной и Выходной C грамотность документов C препроцессор C заголовок C Слепки C Обработка ошибок C Рекурсия C Переменный параметр C Управление памятью C Параметры командной строки C Классические 100 случаев

C Стандартная библиотека

C Стандартная библиотека - справочное руководство C Стандартная библиотека - <assert.h> C Стандартная библиотека - <ctype.h> C Стандартная библиотека - <errno.h> C Стандартная библиотека - <float.h> C Стандартная библиотека - <limits.h> C Стандартная библиотека - <locale.h> C Стандартная библиотека - <math.h> C Стандартная библиотека - <setjmp.h> C Стандартная библиотека - <signal.h> C Стандартная библиотека - <stdarg.h> C Стандартная библиотека - <stddef.h> C Стандартная библиотека - <stdio.h> C Стандартная библиотека - <stdlib.h> C Стандартная библиотека - <string.h> C Стандартная библиотека - <time.h>

C библиотека макросов - va_end ()

C стандартная библиотека - <stdarg.h> C стандартная библиотека - <stdarg.h>

описание

C библиотека макросованнулируются va_end (va_list ар) позволяет использовать функции с переменными параметрами va_startмакрокоманда возвращает. Если вы не звонитеva_end перед возвращением из функции, то результат не определен.

заявление

Вот va_end () макрос заявление.

void va_end(va_list ap)

параметры

  • ар - Это та же функция , прежде чем инициализируется va_start объекта va_list.

Возвращаемое значение

Этот макрос не возвращает никакого значения.

примеров

Следующий пример демонстрирует использование va_end макросъемки ().

#include <stdarg.h>
#include <stdio.h>

int mul(int, ...);

int main()
{
   printf("15 * 12 = %d\n",  mul(2, 15, 12) );
   
   return 0;
}

int mul(int num_args, ...)
{
   int val = 1;
   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;
}

Давайте скомпилировать и запустить эту программу, которая приведет к следующему:

15 * 12 =  180

C стандартная библиотека - <stdarg.h> C стандартная библиотека - <stdarg.h>