Hi,

Im trying to learn C and ive been reading through the tutorials on this site but im getting stuck with a few things so I wonder if anyone would try to help me understand them.

First thing, int main(). From what i understand this line is used to define if there are any command line arguments for the program. Is that its only job? Why is it always int, what about if there are letters in the arguments, would it be char main()? If there are no arguments, would it really matter what is put at the start (int, float etc)?

Secondly, when using scanf, im having a hard time understanding why a & sign is used before the variable. It seems to work without it, is it bad practice?

Finally with the functions, why is the function defined as a prototype above with pretty much the same information inlcuded in the actual function, for example:

int mult ( int x, int y );

Is this really nessesary or is it justgood coding practice?

Thank you for any help you can give.