Языки программирования - 43 стр.

UptoLike

Составители: 

43
5.4 Списки аргументов переменной длины
Существует возможность создать функцию, число аргументов которой не
фиксировано. Макросы и определения заголовочного файла переменных
аргументов stdarg.h предоставляют программисту средства, необходимые для
построения функций со списком аргументов переменной длины.
Таблица 2 Тип и макросы, определённые в заголовочном файле stdarg.h
Идентификатор Объяснение
va_list Тип, предназначающийся для хранения информации,
необходимой макросам va_start, va_arg, va_end. Чтобы
получить доступ к объектам переменной длины, необходимо
объявить объект типа va_list
va_start Макрос, который вызывается перед обращением к
аргументам списка переменной длины. Макрос инициирует
объект, объявленный с помощью va_list для использования
макросами va_arg и va_end
va_arg Макрос, расширяющийся до выражения со значением и
типом следующего аргумента в списке переменной длины.
Каждый вызов va_arg изменяет объект, объявленный с
помощью va_list так, что объект указывает на следующий
аргумент списка.
va_end Макрос обеспечивает нормальный возврат из функции, на
список аргументов которой ссылался макрос va_start
Макрос - это операция, определяемая при помощи директивы препроцессора
#define.
Как и в случае символических констант вместо идентификатора макроса в
программу подставляется заменяющий текст. Допускается определение макроса с
аргументом и без них.