dlaczego nie możemy przypisać nowego ciągu do tablicy, ale do wskaźnika

Próbowałem ponownie przypisać łańcuch do wstępnie zainicjalizowanej tablicy a [] i wszystko, co mogłem uzyskać, to błąd

main()
{
    char a[] = "Sunstroke";
    char *b = "Coldwave";

    a = "Coldwave";
    b = "Sunstroke";
    printf("\n %s %s",a,b);
}

[Błąd]: niekompatybilne typy podczas przypisywania do typu „char [10]” z typu „char *” .. szukałem tego, ale nie udało mi się znaleźć żadnego powodu.

char a[] = "Sunstroke";

ale to nie działało ...

ale w przypadku wskaźnika było to możliwe, jak w powyższym programie ..

questionAnswers(4)

yourAnswerToTheQuestion