I know this is a newbie question but I never asked it when I had the chance, so why not now?

Why exactly does there have to be a main function?
why couldn't you just:
Code:
#include <stdio.h>

printf("Hello, World\n");
it sort of makes sense if you look at it before it's completely compiled but in Asm.

without the main function you can't really call the memory for the string but...
even in assembly it still doesn't make sense why C can't just write the string to a different address that is called globally like I want.

so if I have to have a main
how can I display something without a main?