Андрей Бородкин
Профи
(915)
14 лет назад
void используется тогда, когда функции не надо возвращать какое либо значение. Допустим ей надо только что нибудь посчитать и вывести результат нигде не сохраняя.
Server Nyxis
Знаток
(483)
14 лет назад
например в Си есть только функции. А если тебе нужна процедура? Т. е. еслине нужно возвращаемое значение? тогда пишешь что функция должна возвраать void. Аналогично с параметрами функции - если их нет пишем void.
Есть ещё указатели. К сожалению указатель должен быть на что-то. Т. е. int*,char* и т. п. Бывают случаи, когда тип данных неизвестен. в этом случае void* - просто указатель (нетипизированный).
ASTAPP
Профи
(981)
14 лет назад
Вот в поскале есть функции и процедуры, вот процедуры не возвращают значений, они просто делают какое-то действие, а потом возвращают управление.
В C такими процедурами являются функции возвращающие нулевое значение.
Но в С++ есть еще куча всяких наворотов с void.
Пример можно в параметре передавать указатель на нулевой тип (void*), а при приеме привести его к любому другому типу. Это дает некую универсальность, без надобности приходить в введению шаблонов или абстрактных классов.
Krab Вark
Оракул
(56972)
14 лет назад
Функция может изменять значения переменных, к которым имеет доступ через указатели или ссылки в списках параметров. Это часто применяется - аналог процедуры в Паскале или Бейсике.
Κότ μάτρόϛκϰΗ
Просветленный
(21365)
14 лет назад
void Function(int);
Значит, функция не возвращяет ни каких значений (но что то делает)
int Function(void);
Значит, функция не принимает никаких значений (но что то делает)
int *p;
Значит, указатель на переменную типа int
void *p;
Значит, указатель на переменную произвольного (неопределенного) типа
Везде пишут, что это функция, которая ничего не возвращает или неопределённого типа, так а нафига она нужна?