Почему я не могу писать в строковый литерал, в то время как * могу * писать в строковый объект?

Если я определю что-то вроде ниже,

char  *s1 = "Hello";

почему я не могу сделать что-то подобное ниже,

*s1 = 'w'; // gives segmentation fault ...why???

Что, если я сделаю что-то вроде ниже ,

string s1 = "hello";

Могу я сделать что-то вроде ниже,

*s1 = 'w'; 
5
задан 2501 18 January 2015 в 13:00
поделиться