Что подразумевается под «функциями с переменным числом параметров»? - PullRequest
1 голос
/ 12 июля 2010

В C, что подразумевается под "функциями с переменным числом параметров"?

Ответы [ 5 ]

3 голосов
/ 12 июля 2010

Это означает, что функция может принимать переменное число аргументов:

void myprintf(const char *fmt, ...)
    {
    }

Вы можете вызвать вышеуказанную функцию любым из следующих способов:

myprintf("This is %d", 1);
myprintf("%d out of %d", 1, 2);
myprintf("%d/%d %c", 1,2, 'c');
3 голосов
/ 12 июля 2010

printf хороший пример этого:)

printf("Call with no other variables");
printf("Call with %d variables", 1);
printf("Call with %d variables. The other variable: %d", 2, 5);
1 голос
/ 12 июля 2010

Это относится к функции, которая может принимать переменное число параметров, используя эллипсы (...) в списке параметров и методы / макросы va_list, va_start, va_arg и т. Д.У вас есть более конкретный вопрос по этому поводу?

См. Например:

http://www.cplusplus.com/reference/clibrary/cstdarg/va_arg/

Надеюсь, это поможет!

0 голосов
/ 12 июля 2010

Обозначает те функции, которые имеют параметры, но число параметров не фиксировано (следовательно, переменная no of params).

0 голосов
/ 12 июля 2010

Функция, которая принимает переменное число аргументов.Например printf подпись как <return-type> <function-name>(<datatype>,...);

...