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

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

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

Указатель на строковую константу - C++

07.09.2013, 20:28. Просмотров 1033. Ответов 23
Метки нет (Все метки)

Здравствуйте уважаемые форумчане!

Подскажите пожалуйста является ли эта ситуация выходом за пределы массива или размер массива автоматически подгоняется?:
C++
1
2
char * ptr = new char;
ptr = "I am massive";
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2013, 20:28     Указатель на строковую константу
Посмотрите здесь:

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

Указатель на строковую константу. В чем отличие двух приведенных примеров - C++
char *x; x = "Текст"; это указатель на строковую константу. char x="Текст"; - строка(т.е. массив символов). В чём отличие...

Константный указатель на константу меняет значение - C++
int d = 7; const int* const cd = &d; d = 8; qDebug()<<*cd;

ссылка на указатель на константу. Не могу врубиться - C++
Добрый вечер! Не подскажите почему только выражение с pi_ref3 верное, а остальные - нет (VS 2013). Выражение с pi_ref1 вроде как-то...

Как объявить строковую переменную? - C++
которой в процессе выполнения программы будут присваиваться разные значения. Вот это: char* a = "VasiaPupkin"компилятор объявляет...

Не могу вывести строковую переменную - C++
Привет :) Писал программу, обнаружил что не могу вывести строковую переменную таким образом: int b=0; cin>>b; string a; if...

Как определить строковую переменную? - C++
Првиет всем! Ситуация такая.Мне нужно что бы введенная строка загрузилась в переменную.А далее эта переменная была переданна в...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6539 / 5005 / 461
Регистрация: 14.02.2011
Сообщений: 16,648
08.09.2013, 02:16     Указатель на строковую константу #21
Цитата Сообщение от alex_x_x Посмотреть сообщение
b - в хипе (0x602010 лежит между 0x602000 0x623000, что помечено как хип)
не совсем так в куче у тебя 100 интов, выделенная память а b, указатель на выделенную память, лежит в стеке
вот она сохраняется
Цитата Сообщение от alex_x_x Посмотреть сообщение
0x00000000004006a5 <main()+25>: movl * $0x64,(%rax)
fit
14 / 14 / 0
Регистрация: 20.04.2010
Сообщений: 102
08.09.2013, 02:17     Указатель на строковую константу #22
Цитата Сообщение от alex_x_x Посмотреть сообщение
здесь "hello world" тоже в хипе? или где?
C++
1
2
3
4
5
6
#include <cstdio>                  
                                   
int main ()                        
{                                  
    printf ("%s", "hello world");  
}
о каком heap может идти речь, если в обоих ваших программах отсутствует new?))
моя реплика, которую вы цитировали относилась к вопросу автора по своему первому коду:
C++
1
char * ptr = new char;
моя ошибка в том, что я вслед за автором назвал это строковой константой. хотя это обычный char массив/
как я уже сказал, все статические переменные и константы лежат в сегменте данных
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
08.09.2013, 02:22     Указатель на строковую константу #23
Цитата Сообщение от ValeryS Посмотреть сообщение
не совсем так в куче у тебя 100 интов, выделенная память а b, указатель на выделенную память, лежит в стеке
вот она сохраняется
пардон, я распечатываю значение b, которое указывает на адрес в хипе
я не печатаю адрес b

Цитата Сообщение от fit Посмотреть сообщение
моя ошибка в том, что я вслед за автором назвал это строковой константой. хотя это обычный char массив/
как я уже сказал, все статические переменные и константы лежат в сегменте данных
ок, тогда договоримся, что строковые литералы лежает не в хипе
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.09.2013, 02:24     Указатель на строковую константу
Еще ссылки по теме:

Текст итема предать в строковую переменную - C++
Есть главное окно(диалог), в нем listBox Как по нажатию пункта меню(обработчик его в файле MainApp.cpp) текст выделенного итема предать в...

Как в классе записать возвращаемую строковую переменную? - C++
как в классе записать возвращаемую строковую переменную? программа работает но ругается warning class_string.h #include...

Как добавить несколько символов в строковую переменную? - C++
как добавить несколько символов в строковую переменную?

Записать каждое слова текста в отдельную строковую переменную - C++
Приветствую. Есть n количество слов в тексте, разделены пробелом. Как можно записать каждое слово как массив в string? То есть...

Умножение вектора на константу - C++
Составить программу умножения вектора А на константу С.


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

Или воспользуйтесь поиском по форуму:
fit
14 / 14 / 0
Регистрация: 20.04.2010
Сообщений: 102
08.09.2013, 02:24     Указатель на строковую константу #24
Цитата Сообщение от ValeryS
а b, указатель на выделенную память, лежит в стеке
именно так. иначе быть и не может. в стеке - адрес первого элемента (указатель). в heap непосредственно сам массив

Добавлено через 1 минуту
Цитата Сообщение от alex_x_x
ок, тогда договоримся, что строковые литералы лежает не в хипе
не в хипе. я применил неправильный термин
Yandex
Объявления
08.09.2013, 02:24     Указатель на строковую константу
Ответ Создать тему
Опции темы

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