Hello everyone, I'm beginning to learn to program in C (by beginning I mean starting today). As of right now I am looking over the "hello, world" program", I have no problem getting it to run but, I don't understand what some of this means! )=

Code:
 
#include <stdio.h>

int main(void)
{
    printf("hello, world\n");

    return 0;
}
I understand that the first line of code:
Code:
 #include <stdio.h>
Is simply telling the compiler to input the file stdio.h into my "hello, world" program, so it will know how to read the printf function.

The next line though is where I have some problems:
Code:
int main(void)
I know that main() is a function that tells the compiler to start and is used to begin telling the computer what I want it to do. Then there is the "int" I looked up and found that to declare the type of function, which it says is an integer... Well I may be misunderstanding something but since when is "Hello, world" considered an integer?

Okay, next my propblem is the main(void), when I looked up this I found this to mean that the main function takes no arguments, I would think that would mean the main() function shouldn't be doing anything, so again, maybe I'm just misunderstanding the word? This is what I got from wikipedia:
"The keyword (void) in between the parentheses indicates that the main function takes no arguments." - http://en.wikipedia.org/wiki/C_(prog...haracteristics

The very last line also gives me trouble )=
Code:
   return 0;
I read on the wikipedia that this tells the main() function to terminate, my question is why is it needed, since the curly bracket at the end of the program should have done the same thing, I decided to check another source "Teach Yourself C" second edition, but it seems to give the same definition as the wikipedia.

Any help would be greatly appreciated.