Confusão de cordas C

Estou aprendendo C agora e fiquei um pouco confuso com as matrizes de caracteres - strings.

char name[15]="Fortran";

Não há problema com isso - é uma matriz que pode conter (até?) 15 caracteres

char name[]="Fortran";

C conta o número de caracteres para mim, então não preciso - puro!

char* name;

OK. E agora? Tudo o que sei é que isso pode conter um grande número de caracteres atribuídos mais tarde (por exemplo, via entrada do usuário), mas

Por que eles chamam isso de ponteiro de char? Conheço ponteiros como referências a variáveisIsso é uma "desculpa"? Isso encontra outro uso além do char *?O que é isso realmente? É um ponteiro? Como você o usa corretamente?

obrigado antecipadamente, lamas

questionAnswers(7)

yourAnswerToTheQuestion