Asignando a la matriz char un valor en C

Cuál es la diferencia entre:

char fast_car[15]="Bugatti";

y

char fast_car[15];
fast_car="Bugatti";

Porque el segundo resulta con error de compilación:

error: tipos incompatibles al asignar al tipo 'char [15]' del tipo 'char *'

Mientras que el primero funciona bien. Sería útil colocar una cadena en una matriz en un lugar diferente al de la inicialización de la matriz.

Respuestas a la pregunta(2)

Su respuesta a la pregunta