Just so you understand more ...
When you call a function, you can send it a variable.
For instance, I could call add(1, 2). The function would return 1 + 2.
Now, imagine you want to call a function but you don't want to send it anything, you would send it "void" : sayhi(void). Void being nothing.
when you write sayhi(), its like writing sayhi(void), but simply faster.
the parenthesis aren't there for no reason.