Looking to get the fundamentals on where the term "void" comes from, and why it is called void. The intention of the question is to assist someone who has no C experience, and is suddenly looking at a C-based codebase.
Basically it means "nothing" or "no type"
There are 3 basic ways that void is used:
-- the function takes nothing.
Function return value:
-- the function returns nothing
Generic data pointer:
-- 'data' is a pointer to data of unknown type, and cannot be dereferenced
void in a function argument is optional in C++, so
int myFunc() is exactly the same as
int myFunc(void), and it is left out completely in C#. It is always required for a return value.
I have always taken it to mean absent. Here are four cases in the C language that matches to this use of absent
R f(void)- Function parameters are absent
void f(P)- Return value is absent
void *p- Type of what is pointed to is absent
(void) p- Usage of value is absent
Other C descendants use it for other things. The
D programming language uses it for cases where an initializer is absent
T t = void;- initializing value is absent