Nice one but:
>It's not standards-compliant
Why? It's just a VLA.
>It's not standards-compliant
Why? It's just a VLA.
int main(void) { /* ... */ }
or int main(int argc, char *argv[]) { /* ... */ }>or equivalent; 10)
>10) Thus, int can be replaced by a typedef name defined as int, or the type of argv can be written as char * * argv, and so on.
And Standard also says that:
>or in some other implementation-defined manner.
and:
>In a freestanding environment (in which C program execution may take place without any benefit of an operating system), the name and type of the function called at program startup are implementation-defined.
So main can be pretty much anything according to the Standard, depending on the system.