Técnicamente hablando, no hay diferencia porque no se puede escribir de dos entidades diferentes en una sola. Veamos un ejemplo ...
typedef char a;
typedef char b;
typedef a b, c;
Esta definición funciona, pero si un cambio de la definición anterior a este
typedef char a;
typedef char * b;
typedef a b, c;
de error 1 error C2040: 'b': 'a' se diferencia en los niveles de de indirección de 'char *'
Otro Una
typedef char a;
typedef int b;
typedef a b, c;
Error 1 error C2371: 'b': redefinición; diferentes tipos básicos
Así que mediante el análisis de estas cosas, solo el mismo tipo se puede definir en conjunto.