Noté que algunas personas usan la siguiente notación para declarar variables de puntero.
(a) char* p;
en vez de
(b) char *p;
Yo uso (b). ¿Qué es lo racional detrás de la notación (a)? La notación (b) tiene más sentido para mí porque el puntero de carácter no es un tipo en sí mismo. En cambio, el tipo es carácter y la variable puede ser un puntero al carácter.
char* c;
Parece que hay un tipo char * y la variable c es de ese tipo. Pero, de hecho, el tipo es char y * c (la ubicación de memoria señalada por c) es de ese tipo (char). Si declara varias variables a la vez, esta distinción se vuelve obvia.
char* c, *d;
Esto se ve raro. Tanto c como d son el mismo tipo de punteros que apuntan a un carácter. En esto ya que el próximo parece más natural.
char *c, *d;
Gracias.