Run time polymorphism in C