Why does this work? It seems to me assigning a[0] = "X"
should fail because const
should make the data in the array immutable. However it compiles and runs fine, with and without const
.
const char* a[] = {"a", "b", "c"};
a[0] = "X";
printf("%s\n", a[0]);