C uniones y polimorfismo [duplicado]

Posible duplicado:
¿Cómo puedo simular el polimorfismo de estilo OO en C?

Estoy tratando de usar uniones para crear polimorfismo en C. Hago lo siguiente.

typedef struct{
...
...
} A;

typedef struct{
...
... 
} B;

typedef union{
        A a;
        B b;
}C;

Mi pregunta es: ¿cómo puedo tener un método que tome el tipo C, pero que también permita A y B? Quiero que funcione lo siguiente:

Si defino una función:

myMethod(C){
...
}

Entonces, quiero que esto funcione:

main(){
A myA;
myMethod(myA);
}

No lo hace ¿Alguna sugerencia?

Respuestas a la pregunta(3)

Su respuesta a la pregunta