The C Language doesn't support function overloading [1] because there is no name mangling in C.
But C allows one to write both
int main ()
and
int main ( int argc, char** argv )
When defining the main function. Isn't this function overloading?