LINUX.ORG.RU

Вопрос про Память...


0

0

Может не много страный вопрос из С, но все же..... Есть две строки: 1.) char str1[]="12345"; 2.) char *str2="12345";

Если, я захочю поменять первый байт, то str1[0]='8'; --- Ok... a *str2='8'; --- Error... Я знаю что через указатель неделается. И память под ето выделяется другая.. Если str2 константная память -- что к неи быстрее доступ? где можно внятно прочитать о назначении и распредилении памяти? Спасибо всем...


Указатель тут не причем
Все строковые констатнты размещаются компилятором в сегменте "только для чтения" (str2)
В первом случае память выделена копилятором в сегменте, где можно и читать и писать.
Читай документацию по компилятору: info gcc

anonymous
()

Во первых я бы написал str[2]='8';

Во вторых - что за ошибка: RunTime Eror?, Ошибка времени компиляции, линкования ???

вообщем gcc -v ... | в лор

anonymous
()
Ответ на: комментарий от anonymous

Во первых я бы написал str2[2]='8'; Во вторых - что за ошибка: RunTime Eror?, Ошибка времени компиляции, линкования ???

вообщем gcc -v ... | в лор

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.