Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.76/17: Рейтинг темы: голосов - 17, средняя оценка - 4.76
AltPeople
10 / 10 / 2
Регистрация: 25.09.2008
Сообщений: 73
1

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

18.05.2009, 14:04. Просмотров 3211. Ответов 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
Ответы с готовыми решениями:

Изменить адрес указателя
Подскажите пожалуйста, как изменить не только адрес куда указывает указатель,...

Изменить адрес указателя на функцию
void ShowNumber(int number) { printf(&quot;number = %d\n&quot;, number); } void...

Как изменить тип указателя массива ?
Например создаю массив: void * mass; if(1 == 1) mass = wchar_t; else...

Максимальное значение указателя
Как определить максимальное значение указателя? Например, char* или int* или...

Меняется значение указателя
Пытаюсь сделать односвязный список, но с этими указателями постоянно проблемы=(...

6
kazak
3058 / 2379 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
18.05.2009, 14:08 2
*temp = "asdf";
0
AltPeople
10 / 10 / 2
Регистрация: 25.09.2008
Сообщений: 73
18.05.2009, 14:14  [ТС] 3
*temp = "asdf";
нельзя эл-ту типа char присвоить строку (массив эл-тов char)!
0
Rififi
2363 / 1056 / 104
Регистрация: 03.05.2009
Сообщений: 2,656
18.05.2009, 14:15 4
AltPeople,
char
1
AltPeople
10 / 10 / 2
Регистрация: 25.09.2008
Сообщений: 73
18.05.2009, 14:23  [ТС] 5
недоглядел)))))))))
0
kazak
3058 / 2379 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 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
19353 / 7202 / 538
Регистрация: 30.03.2009
Сообщений: 20,146
Записей в блоге: 30
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

Изменение значение указателя в цикле
Добрый день! У меня возникла проблема следущего характера: в цикле for...

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

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


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

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

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