Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 103

Указатель на строковую константу. В чем отличие двух приведенных примеров

27.01.2014, 14:40. Показов 3833. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
char *x;
x = "Текст"; это указатель на строковую константу.

char x[]="Текст"; - строка(т.е. массив символов).


В чём отличие двух вышеописанных примеров? Ведь и там и там х -это указатель на начало массива. Почему в первом случае строка - это константа, а во втором нет?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.01.2014, 14:40
Ответы с готовыми решениями:

Указатель на строковую константу
Здравствуйте уважаемые форумчане! Подскажите пожалуйста является ли эта ситуация выходом за пределы массива или размер массива...

Указатель на строковую константу
Всем привет. Я знаю что в С++ в основном юзается std::string,но сишные строки тоже желательно знать. Вроде все просто, только функции...

В чём отличие константного указателя и указателя на константу?
int *const p1 и int const* p2 Объясните мне в чём тут отличие.

28
27.01.2014, 18:10
Студворк — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
зря смеешся
что кривые дрова ни разу не попадались?
а там нет разделение на свой чужой
и отловить их гораздо труднее
Это всё из-за того, что сейчас в Microsoft криворукие программисты сидят. В процах есть 4 кольца безопасности: одно для ядра, два для дров и одно для приложений. Так вот если бы они все 4 кольца по уму использовали, то половины синих экранов никогда бы не было. А у них, видете-ли, промышленное/быстрое программирование, заключающееся в постулате "Сделал как попало, главное работает."

0
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 103
27.01.2014, 18:11  [ТС]
Вот нашёл сообщение на форуме:
https://www.cyberforum.ru/post165013.html

Вроде как объясняет мой вопрос..
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
28.01.2014, 08:39

Не по теме:

Цитата Сообщение от НеСказочник Посмотреть сообщение
сейчас в Microsoft криворукие программисты...половины синих экранов никогда бы не было
Что-то я на XP уже плохо припоминаю синие экраны, а вот девяносто восьмую помню как каждую неделю руками надо было поднимать. Так что вы там про сейчас говорите?



Цитата Сообщение от Vegas_I Посмотреть сообщение
Вот нашёл сообщение на форуме
А сразу вам не захотелось почитать то, которое я написал?
1. Общие сведения

Ещё одна конструкция языков Си и Си++, которая часто приводит в затруднение начинающих - это строковой литерал. Начинающим, как правило, трудно понять, чем принципиально отличаются две следующие конструкции:

C
1
2
char str1[] = "abc";
char *str2 = "abc";
И так далее.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,538
Записей в блоге: 1
28.01.2014, 11:17
НеСказочник, считаешь себя умнее программистов майкрософт?
0
28.01.2014, 11:19

Не по теме:

Цитата Сообщение от НеСказочник Посмотреть сообщение
Это всё из-за того, что сейчас в Microsoft криворукие программисты сидят.
либо виндой пользуются криворукие пользователи. Винда у меня была приблизительно лет 10(с переустановками, конечно), ни одного синего экрана я за это время у себя не увидел.

0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
28.01.2014, 12:15
Цитата Сообщение от ValeryS Посмотреть сообщение
C++
1
char *x = "Текст";
равносилен
C++
1
char x[]="Текст";
Это не так. SatanaXIII уже приводил ссылку на блог, где это объясняется.

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
ни одного синего экрана я за это время у себя не увидел.
А у меня монитор отдавал розовым, поэтому тоже действительно синего экране не было :)
На восьмерке BSOD интересный, с грустным смайликом.

0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
28.01.2014, 12:31
Цитата Сообщение от Tulosba Посмотреть сообщение
Это не так.
я это знаю
Цитата Сообщение от Tulosba Посмотреть сообщение
SatanaXIII уже приводил ссылку на блог,
я имел ввиду что в данном контексте,
что никакого выделения памяти в куче не будет
Цитата Сообщение от НеСказочник Посмотреть сообщение
хранятся там. эта память очень быстрая, но надо заранее знать сколько попросить, ибо расширять сегмент по ходу дела нельзя. А ещё есть так называемая куча , в которой можно по ходу дела забить столько места, сколько нужно. Но тогда тебе нужно хранить адрес начала той части кучи, в которой хранятся твои данные, например Код C++1
char *x = "Текст";. Все переменные в которых между типом и названием стоит завёздочка - хранят только адреса памти, а сами данные хранятся в куче.
вот на это я отвечал
хотя согласен получилось несколько коряво
или указатель на константу, или массив все таки разница есть
0
28.01.2014, 13:38

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
А у меня монитор отдавал розовым, поэтому тоже действительно синего экране не было
у меня фиолетовым отдавал, но метод сильного тыка кулаком в монитор устранял проблему на пару дней :D
Цитата Сообщение от Tulosba Посмотреть сообщение
На восьмерке BSOD интересный, с грустным смайликом.
скоро еще можно будет его погладить, чтобы успокоить расстроившуюся систему. Не просто так же они под сенсор заточили винду :D

1
60 / 48 / 13
Регистрация: 12.11.2012
Сообщений: 373
Записей в блоге: 2
28.01.2014, 16:31
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
считаешь себя умнее программистов майкрософт?
Не в этом дело. Я раньше долго не понимал почему только два уровня безопасности (приложения и ядро), пока не узнал, что их на самом деле больше и обеспечиваются они ЦП, но используются нормально только два из них.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.01.2014, 16:31

Инициализация полей - в чем разница двух приведенных реализаций
class first { public first() { a=5; b="строка"; } int a; string b;

В чем разница двух примеров кода
Здравствуйте! while (Connected == true) { if (srReceiver.ReadLine() != "") { ...

Как в классе создать строковую константу?
Как в классе создать строковую константу? Конструкция типа static const char __tmp_obj1 = "abc"; не работает.

Как правильно сравнить строку и строковую константу?
Всем здравствуйте. String s1 = "Asdf"; if(strcmp(s1, "ASDF")==0) Label1->Caption = "ДА"; else Label1->Caption =...

Напечатать все слова последовательности, содержащие строковую константу.
Дана последовательность до 30 слов, в каждом из которых от 1 до 5 символов, между словами - пробел, в конце - точка. Задать строковую...


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Сезонность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru