the first keyword of any function definition (void, int, char, whatever), tells the function what value type the function will return..
If you write void, you can't return anything (as it's not expecting anything)
and if you put anything in the parameter (after function call, with in the brackets), it can be any type, even pointers/typedef types..
These concepts should be covered in any introductary text, are you sure your learning C and not skipping anything?
__________________
lisp hacker

running: FreeBSD 5.4 - still learning

develop with: SBCL + emacs for lisp, Anjuta IDE +gcc for c, SPE for python..
browse with: opera