Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
#1

Строка == массив элементов char? - C++

26.01.2016, 20:15. Просмотров 188. Ответов 5
Метки нет (Все метки)

Есть следующий код:
C++
1
2
3
4
5
int main() {
char* s = "HELLO\n";
s[0] = 'X';
    return 0;
}
Почему я не могу так сделать? По сути я имею указатель на первый элемент моего массива (строки). Моя строка не константная... Почему не могу изменить элемент? Или строка != массив?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2016, 20:15     Строка == массив элементов char?
Посмотрите здесь:

есть массив char. есть строка string. как присвоить значению string-a значение char-a? - C++
есть массив char. есть строка string. как присвоить значению string-a значение char-a?

Строка: чем отличается строки string, char, char*? - C++
Помогите разобраться,совсем плохо идёт,чем отличается строки string,char,char* И если можно пару примеров Буду весьма признательна

Строка: Строку разбить на слова и слова запихнуть в массив char. - C++
Вобщем пока нужно: 1) строку разбить на слова и слова запихнуть в масив char. но у меня почему то вообще не то записывает в масив, хоча...

Перевод элементов из string в массив char - C++
Я задался целью создать небольшую программу, которая бы открывала текстовый файл, считывала символы из него и заносила их все в один...

Строка string и строка char - C++
Ребят помогиме. В общем задание такое дана строка типа string и строка char которая содержит символ к. В общем если в строке типа String ...

функция возвращает массив слов, содержащихся в текстовом сообщении char* Words(char *s) - C++
Стоит такая задача: функция должна возвратить массив слов, содержащихся в текстовом сообщении char* Words(char *s) Как это можно...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
olya7
477 / 294 / 91
Регистрация: 18.02.2013
Сообщений: 684
26.01.2016, 20:22     Строка == массив элементов char? #2
Цитата Сообщение от BESSON_off Посмотреть сообщение
C++
1
char* s = "HELLO\n";
s является указателем на константный объект, который не подлежит изменению
8-BITOV
535 / 477 / 86
Регистрация: 05.05.2014
Сообщений: 1,101
26.01.2016, 20:24     Строка == массив элементов char? #3
Цитата Сообщение от BESSON_off Посмотреть сообщение
Почему я не могу так сделать?
Некоторые компиляторы записывают в этом случае "HELLO\n" в защищенную область. Напиши
C++
1
char s[] = "HELLO\n";
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
26.01.2016, 20:28     Строка == массив элементов char? #4
Цитата Сообщение от BESSON_off Посмотреть сообщение
Почему не могу изменить элемент?
Потому что указатель указывает на строковой литерал - константу.
Сообщением выше указан изменяемый вариант.
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
26.01.2016, 20:45  [ТС]     Строка == массив элементов char? #5
Спасибо...
Ответ пришел в голову сразу после написания темы +)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2016, 21:03     Строка == массив элементов char?
Еще ссылки по теме:

Как перевести массив char[] в char* - C++
Не знаю как перевести массив char в переменную char*

Запись строки char в массив char - C++
Глупый вопрос, но что поделать, многое забыл... Хочу записть строку типа char в массив строк типа char, но выдает ошибку что "невозможно...

Двумерный массив: строка, в которой находится самая длинная серия одинаковых элементов - C++
Дана целочисленная прямоугольная матрица. Определить: 1) Количество столбцов, содержащих хотя бы один нулевой элемент. 2)Номер...

Массив char в переменную char - C++
Допустим, имеется заполненный массив char Massiv, и есть переменная char buff. Как массив передать в переменную?

Копирование char* в массив char[i]* - C++
Друзья, не бейте, искал, то что нашел - не помогло. Использую WinAPI, но это не суть важно сейчас. Весь код под спойлером у меня есть...

Составить новый массив, изменяя значения элементов в зависимости от того, отсортирована ли текущая строка - C++
Задана матрица размером NxM. Получить массив B, присвоив его k-му элементу значение 1, если элементы k-й строки матрицы упорядочены по...


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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
13063 / 7326 / 817
Регистрация: 27.09.2012
Сообщений: 18,085
Записей в блоге: 3
Завершенные тесты: 1
26.01.2016, 21:03     Строка == массив элементов char? #6
Строковые литералы в Си/Си++
Yandex
Объявления
26.01.2016, 21:03     Строка == массив элементов char?
Ответ Создать тему
Опции темы

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