C Function Overloading Explained