Confusión de cuerdas C

Estoy aprendiendo C en este momento y me confundí un poco con matrices de caracteres: cadenas.

char name[15]="Fortran";

No hay problema con esto: es una matriz que puede contener (hasta?) 15 caracteres

char name[]="Fortran";

C cuenta la cantidad de caracteres para mí, así que no tengo que hacerlo: ¡limpio!

char* name;

Bueno. ¿Ahora que? Lo único que sé es que esto puede contener una gran cantidad de caracteres que se asignan más adelante (por ejemplo, a través de la entrada del usuario), pero

¿Por qué llaman a esto un indicador de char? Sé de punteros como referencias a variables¿Es esta una "excusa"? ¿Encuentra esto otro uso que en char *?¿Qué es esto en realidad? ¿Es un puntero? ¿Cómo lo usas correctamente?

gracias de antemano, lamas

Respuestas a la pregunta(7)

Su respuesta a la pregunta