#47. Функции с произвольным числом параметров | Язык C для начинающих

#47. Функции с произвольным числом параметров | Язык C для начинающих

selfedu

1 год назад

5,747 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

@MrLeyt1125
@MrLeyt1125 - 25.02.2024 22:35

Чет вообще неудобно.
А можно так же как и с main, которая через батник вызывается?
int main(int argc, char** argv)
и перебирать параметры через argv[1], argv[2]...argv[argc] ?

Ответить
@user-xm5zl9up4r
@user-xm5zl9up4r - 08.02.2024 12:34

Спасибо

Ответить
@user-pg8ry1tm3t
@user-pg8ry1tm3t - 30.01.2024 17:24

О, элипсис… например
void f()
{
printf(“hello”);
}
принимает сколько угодно аргументов. И получаем уб

Ответить
@andredru4278
@andredru4278 - 20.01.2024 11:07

Спасибо. Все понятно.

Ответить
@pewpewpew8613
@pewpewpew8613 - 07.12.2023 14:22

Привет, у меня вопрос по варидическим функциям. Насколько я понимаю у нас есть указатель на самое начало стек фрейма и есть указатель на первый вариадический аргумент. Разве этого не достаточно для того что бы нам прочесть все переданные аргументы без явной передачи их кол-ва. Мы ведь можем читать начиная от первого аргумента до того момента пока мы не упремся в начало стек фрейма, всё что нам надо это знать тип аргументов. Или я чего не то не так понимаю?

Ответить
@user-du2fo9tn4p
@user-du2fo9tn4p - 17.10.2023 06:34

вообще огонь уроки!🤙

Ответить
@begidurak
@begidurak - 14.10.2023 11:39

а зачем нам это, если по факту все равно нужно передавать в функцию количество поступаемых аргументов?

Ответить
@Michael-Solo
@Michael-Solo - 06.06.2023 08:31

Спасибо Вам огромное за ваш труд! Особенно за внимание к деталям каждой темы, которую Вы разбираете!!! Не останавливайтесь пожалуйста!!! ❤

Ответить
@lego6757
@lego6757 - 06.06.2023 04:22

А как в C++ передать в функцию произвольное число заранее определённых разных классов (но с некоторыми одноименными методами), например "init_interfaces(SPI1, UART2);" когда неизвестно в каком порядке они будут поданы или вовсе без них("init_interfaces();") ? У меня было такое задание на собеседовании, смог решить не все условия и теперь меня этот вопрос уже долго мучает

Ответить
@AlekzzzR
@AlekzzzR - 05.06.2023 15:19

Скажите, а код компилировался под Windows?
Дело в том, что в Linux, va_list - это структура, в которой описываются смещения и границы параметров. Это сделано для защиты стека.
Да и спасибо за труд.

Ответить
@ГубкаБоб-р8ъ
@ГубкаБоб-р8ъ - 05.06.2023 10:49

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

Ответить
@Hippan_
@Hippan_ - 05.06.2023 10:48

А вот va_arg принимает указатель типа va_list и дескриптор типа(int)...а как можно самому объявить такую функцию чтоб она принимала дескриптор типа?

Ответить
@andrey_sautenko
@andrey_sautenko - 05.06.2023 10:38

отдельное спасибо за концовку, связанную с С++!

Ответить