Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AltPeople
10 / 10 / 1
Регистрация: 25.09.2008
Сообщений: 73
#1

Изменить значение указателя - C++

18.05.2009, 14:04. Просмотров 2672. Ответов 6
Метки нет (Все метки)

Рылся в поиске - не помогло.
Вообщем проблема дурацкая
C++
1
2
3
4
5
char *temp;
temp="asdf";
cout<<temp; // все идет нормально
temp[0]='A'; // не может изменить 1й эл-т
cout<<temp;
Выдает память не может быть "written".
может среда глючит, пользуюсь DEV C++
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2009, 14:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Изменить значение указателя (C++):

Изменить адрес указателя - C++
Подскажите пожалуйста, как изменить не только адрес куда указывает указатель, но и адрес самого указателя Для примера: char...

Как изменить тип указателя массива ? - C++
Например создаю массив: void * mass; if(1 == 1) mass = wchar_t; else mass = char; Пример конечно ппц какой бред, но если...

Меняется значение указателя - C++
Пытаюсь сделать односвязный список, но с этими указателями постоянно проблемы=( Помогите плз #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

Ввести с клавиатуры значение указателя - C++
const char *par; cout&lt;&lt;&quot;enter par:&quot;; cin&gt;&gt;par; Как ввести с клавиатуры значение par?

Максимально возможное значение указателя - C++
Вопрос по адресной арифметике - можно ли как-то получить наибольшее для данной платформы значение указателя? То есть, такой указатель, что...

Изменение значение указателя в цикле - C++
Добрый день! У меня возникла проблема следущего характера: в цикле for (i=0;i&lt;(n*n);i++) у меня сбивается указатель, тоесть при i=4,...

6
kazak
3051 / 2372 / 160
Регистрация: 11.03.2009
Сообщений: 5,437
Завершенные тесты: 1
18.05.2009, 14:08 #2
*temp = "asdf";
0
AltPeople
10 / 10 / 1
Регистрация: 25.09.2008
Сообщений: 73
18.05.2009, 14:14  [ТС] #3
*temp = "asdf";
нельзя эл-ту типа char присвоить строку (массив эл-тов char)!
0
Rififi
2360 / 1053 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
18.05.2009, 14:15 #4
AltPeople,
char
1
AltPeople
10 / 10 / 1
Регистрация: 25.09.2008
Сообщений: 73
18.05.2009, 14:23  [ТС] #5
недоглядел)))))))))
0
kazak
3051 / 2372 / 160
Регистрация: 11.03.2009
Сообщений: 5,437
Завершенные тесты: 1
18.05.2009, 14:26 #6
Точнее так
C++
1
2
3
4
char str[256];
char *temp;
temp = str; // или temp = &str[0]
temp = "asdf";
0
Evg
Эксперт CАвтор FAQ
18689 / 6654 / 468
Регистрация: 30.03.2009
Сообщений: 18,621
Записей в блоге: 29
18.05.2009, 17:02 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
когда пишешь

C
1
char *p = "abc";
то семантически это соответствует конструкции

C
1
2
static const char __t[4] = { 'a', 'b', 'c', '\0' };
char *p = (char*) &__t[0];
Таким образом p[1] (что эквивалентно *(p+1)) соответствует элементу __t[1], а объект __t помечен модификатором const. Такие объекты большинство компиляторов складывают в read-only секцию, а затем операционная система грузит эту секцию на отдельные страницы памяти, куда запись запрещена. Некоторые компиляторы имеют опцию, по которой такие конструкции НЕ попадают в read-only секции - как правило для того, чтобы нормально работали приложения, написанные много лет назад. Для gcc такая опция -fwriteble-strings
10
18.05.2009, 17:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2009, 17:02
Привет! Вот еще темы с ответами:

Как проверить значение (существование) указателя? - C++
В плюсы могу слабо, если вопрос обсуждался, прошу извинить и тыкнуть носом Внимание, вопрос Есть у нас dll на c++. Инжектится она в...

Не получается присвоить значение указателя в функции - C++
void Gauss(double *x,double b) { for (int i = n-1; i &gt;0 ; i--) { *x=0; for (int j = n; j &lt; i; j--) { *x+=-*x*A; } ...

Правильно передать значение указателя в функцию - C++
Всем привет. Есть функция, которая имеет параметром ссылку, а есть указатель, который надо передать в функцию. То есть, void...

Разыменование указателя, не передается правильное значение - C++
Здравствуйте, есть следующий код: for (int i = 0; i &lt; arr.size(); i++) { const char *temp = arr.c_str(); const char...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru