Despacho dinâmico de métodos em C

Eu sei que parece bobo e eu sei que C não é uma linguagem orientada a objetos.

Mas existe alguma maneira que o método dinâmico de despacho possa ser alcançado em C? Eu pensei sobre os ponteiros de função, mas não entendi a ideia toda.

Como eu poderia implementar isso?

questionAnswers(4)

yourAnswerToTheQuestion