Здравствуйте, ariets, Вы писали:
A>A>char * p = "ABC";
A>
A>Там написано, что компилятор в области статических данных( read only memory ) помещает строку "ABC". Указатель p на char хранит в себе значение адреса ячейки памяти, где расположен символ "A"
A>Теперь попробуем
А почему область статических данных обязательно read only memory?
Скажем такой вот код:
int a1 = 5;
int a2 = a1 *= 2;
Вполне так себе порождает модифицируемые статические данные...
Возможно меня глючит, но мне кажется, что в языке С строковые литералы модифицируемые, а в С++ нет. Я так подозреваю, что у топикстартера язык С, а компилятор почему-то берётся С++, от того все и проблемы...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском