>>4
void というのは「何も無い」という状態を、積極的に宣言するものだ。たとえば
 int main() // () の中が空白
でも、引数無し、というのは見てわかるが、
 int main(void) // () の中に void がある
とかいたほうが、
「引数はありませんよ」
と明らかに示しているのでわかりやすい。
また、もし間違えて、この関数を引数つきで呼んでしまったときは、コンパイラーで判断して、エラーを出せる。

また、関数の返り値が何も無い、ということを示すときにも使う。

(1)void foo (void) //foo という関数は、引数が無くて、返り値も無い
(2)int bar(void) // bar という関数は、引数が無くて、int 型の返り値を返す

このように使う。また、void 型の変数宣言というのもあるらしいが、そこまでよく読んでいないので省略。

ちなみに、ネットでvoidというハンドルを使う者もまれにいるらしい。これは「void」という名前ではない。
「名前」欄を空白にせずに、わざわざvoidと書き込むということは、
「名乗るほどの名前じゃありやせん」
という意味、つまり、2ちゃんでの「名無しさん」とかと同じ意味である。