void means "doesn't return a value", so you cant do
somevariable = OutputEquation(3, '+', 4, 146000);
If you don't define all the arguments, it will fail to compile. (You'll find out about default arguments later, which means if you don't provide arguments they will be given the defaults you specify - don't worry about that yet).
A variable has to be initialised before it is read. You don't need to initialise a variable before you write to it though. Uninitialised variables get garbage values if they are on the stack (local variables), or are initialised to all zero bits if they are global. Free-store and heap variables (from malloc/new) can get initialised with garbage values too. Your compiler will (probably) warn you if you try and use an uninitialised local or heap/free-store variable.