c语言实现泛型