¿Por qué no puedo editar un personaje en un personaje *?

Below es un ejemplo extremadamente simple. Se compila bien usando gcc en Mac OS X (Snow Leopard). En tiempo de ejecución genera un error de bus: 10. ¿Qué está pasando aquí?

char* a = "abc";
a[0] = 'c';