Другие языки программирования и технологии

Вызов функции в Си

# include

void function (void);
void function (void)
{
printf ("Так");
}

int main (void)
{
function (void);
}

Скажите пожалуйста, какой смысл того, что функция не имеет возвращаемого значения и не принимает аргументов...?
что может быть вместо void (void)
как это используется
>Скажите пожалуйста, какой смысл того, что функция не имеет возвращаемого значения и не принимает аргументов...?

Э-э-э-э... Значит, не надо ей.

>что может быть вместо void (void)
Возвращаемый тип и формальные параметры.

>как это используется

Примерно так:

int DoubleX(int x)
{
return x << 1;
}
Павел Карасёв
Павел Карасёв
87 030
Лучший ответ
Ну, например, что-то одно и то же печатать или выводить какую-то фигуру в текущей позиции курсора или в одном и том же месте окна.
Нургисa Жиeнбaeв
Нургисa Жиeнбaeв
52 113
Воидовские функции могут работать с глобальными переменными, играя роль эдакого макроса. Например, у вас есть микроконтроллер, который нужно инициализировать, посылая определённые значения в память. И вместо того, чтобы всё делать в main вы разбили участки кода просто для удобчитаемости, вызывая все эти воидовские функции по порядку.
Sergey Dudkin
Sergey Dudkin
26 548
В ранних, да и во многих современных, языках программирования было и есть четкое разделение на процедуры (procedure) и функции (function). Разница между ними в том, что функция по завершении своего кода должна возвратить некое значение, что позволяет использовать ее в операторах, а процедура ничего не возвращает, по сути сама являясь как бы определенным программистом оператором. Грубо, конечно, но как-то так. В С-подобных языках нет явного определения процедур - все подпрограммы по умолчанию обозваны функциями. Соответственно объявлении функции с типом void по сути превращает ее в процедуру. Вот и все.
Просто императивщики врут, называя всякую хрень "функциями", привыкай.
Cc Cc
Cc Cc
2 948