logo search
ООП для Заоч / Пинчук Лозовская Программир на С

Void main()

{ printf("max = %d \n", max(5,35,-35,40,17,-12));

}

У цьому прикладі застосовується спеціальний тип va_list і функції va_start та va_arg з модулю <stdarg.h>. Тип va_list визначає спеціальний покажчик, який вказує на один з аргументів змінної частини списку. Виклик функції va_start(p,N) ініціалізує покажчик p адресою першого параметра, розташованого за останнім параметром фіксованої частини списку параметрів з ім’ям N. При виконанні виклику функції va_arg(p,int) виконуються дві дії:

а) формується значення, що повертається, воно відповідає тому параметру змінної частини списку параметрів, на який вказує покажчик p;

б) значення покажчика p переноситься на наступний параметр змінної частини списку параметрів, у нашому прикладі він має тип int.