void main(), int main(), argc, argv[]????

This is a discussion on void main(), int main(), argc, argv[]???? within the C Programming forums, part of the General Programming Boards category; I read somewhere it is good etiquette to use int main().....I understand that 'argc' is the number of parameters handed ...

void main(), int main(), argc, argv[]????

I read somewhere it is good etiquette to use int main().....I understand that 'argc' is the number of parameters handed to main(), and 'argv[]' is an array of char pointers to the parameters.......but am still a little confused.
Am currently learning C, have written some pretty wicked programs, and about to send them in to be marked. All the example code I have ever seen used void main(). My programs work ok with void main(), but if int main() is the standard I want to use it.

Do programs written for industry always use argc & argv[]?
Does this mean the programs must be loaded from the command line?
Should argc & argv[] be tested in some way?
Can int main() be used without argc & argv[]?
What is the difference?
Do you know of a good web site to explain all this for me???