Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
gsergey50
0 / 0 / 0
Регистрация: 05.02.2011
Сообщений: 2
1

Строковый литерал

27.02.2011, 18:06. Просмотров 1145. Ответов 1
Метки нет (Все метки)

Вопрос к профи: Верно ли что, когда мы инициализирум строку вот так: const char *str = "Строка", то компилятор понимает ее так:
1) char temp[] = {'С', 'т', 'р', 'о', 'к', 'а', '\0'} - сначала в памяти создается массив символов с некоторым именем, например temp.
2) const char *str = temp - потом инициализируется указатель на эту строку, т. е. ему присваиватся адрес этой строки в памяти.
В итоге, когда пишем так: const char *str = "Строка", то память будет выделена так: 7 байт для
char temp[] и 4 байта для указателя. Правильно ли Я понял?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2011, 18:06
Ответы с готовыми решениями:

Сколько живёт строковый литерал?
Имеется код #include <iostream> using namespace std; class myClass {...

Как в макросе передать параметр в строковый литерал?
Как в макросе передать параметр в строковый литерал? #define f(s)...

Как правильно возвращать строковый литерал из функции
Строковый литерал по сути представляет собой указатель на данные. Но что если...

Строковый литерал и указатель на строку. В чем разница?
Добрый день. Начал только изучать С++, не могу понять в чем разница между...

"воткнуть" строковый литерал в поток ввода
Подскажите, пожалуйста, как по-быстрому воткнуть строковый литерал в поток...

1
Evg
Эксперт CАвтор FAQ
19289 / 7148 / 528
Регистрация: 30.03.2009
Сообщений: 20,000
Записей в блоге: 30
27.02.2011, 18:30 2
Почти правильно. Ошибка только в том, что не "char temp", а "const char temp"

На всякий случай ссылки, где это дело уже обсуждалось:
Изменить значение указателя
Чем по умолчанию инициализируется символьный массив?
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2011, 18:30

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

Дан строковый файл. Создать новый строковый файл, содержащий все строки исходного файла наименьшей длины (в том же порядке).
Даны имена двух файлов вещественных чисел. Известно, что первый из них...

Передать литерал функции
Когда я создаю объект string, я могу написать так: string str = "qwerty"; ...


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

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

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