c语言和设计模式