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

Динамическая память и строки - C++

Восстановить пароль Регистрация
 
_Vova_
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 43
25.11.2012, 17:28     Динамическая память и строки #1
Подскажите пожалуйста , как выделить динамическую память под строку , а потом освободить её?
это будет что-то типа такого ...?
C++
1
2
3
char *p;
p=new char[50];
delete [] p;
Как это можно сделать , если нужно , например ,выделить память под строку , ввести строку с клавиатуры а потом удалить память ?

Заранее спасибо за помощь !
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2012, 17:28     Динамическая память и строки
Посмотрите здесь:

C++ Динамическая память
C++ Динамическая память
Динамическая память C++
C++ Динамическая память
Динамическая память (строки), деструктор C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
25.11.2012, 17:30     Динамическая память и строки #2
да, а что смущает?
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
25.11.2012, 17:31     Динамическая память и строки #3
C++
1
2
3
4
5
6
7
char *p;
p=new char[50];
 
cout << "Введите строку: ";
cin.getline(p, 50);
 
delete [] p;
_Vova_
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 43
25.11.2012, 17:47  [ТС]     Динамическая память и строки #4
Цитата Сообщение от V.A.L.I.D Посмотреть сообщение
C++
1
2
3
4
5
6
7
char *p;
p=new char[50];
 
cout << "Введите строку: ";
cin.getline(p, 50);
 
delete [] p;
Cпасибо!
А если нужно сразу вписать строку , при её обьявлении , нельзя сделать так : ....?
C++
1
2
3
4
char *p;
p=new char[50]="введенная строка";
 
delete [] p;
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
25.11.2012, 17:52     Динамическая память и строки #5
_Vova_,
C++
1
char *s = "MyString";
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
25.11.2012, 17:56     Динамическая память и строки #6
Цитата Сообщение от go Посмотреть сообщение
C++
1
char *s = "MyString";
А вот это совершенно другая вещь, нежели это.
Цитата Сообщение от _Vova_ Посмотреть сообщение
C++
1
p=new char[50]="введенная строка";delete [] p;
Строковый литерал s ты изменить не сможешь, а
строку p - вполне!
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
25.11.2012, 17:59     Динамическая память и строки #7
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
а
p - вполне!
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
p=new char[50]="введенная строка";
Скомпилить пробовали?
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
25.11.2012, 17:59     Динамическая память и строки #8
C++
1
2
3
4
char *p;
p=new char[50]="введенная строка";
 
delete [] p;
вот так почему то ошибка появляется во время запуска. но компилируется
_Vova_
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 43
25.11.2012, 18:00  [ТС]     Динамическая память и строки #9
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
А вот это совершенно другая вещь, нежели это.
Строковый литерал s ты изменить не сможешь, а
строку p - вполне!

Так как же мне тогда сделать так , чтобы использовать динам. память ? Мой вариант не работает (
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
25.11.2012, 18:01     Динамическая память и строки #10
Цитата Сообщение от go Посмотреть сообщение
Скомпилить пробовали?
упс, не заметил, думал он вводит с клавиатуры строку после p=new char[50];

Добавлено через 46 секунд
Цитата Сообщение от _Vova_ Посмотреть сообщение
Так как же мне тогда сделать так , чтобы использовать динам. память ? Мой вариант не работает (
go уже сказал про ошибку.
C++
1
2
p=new char[50];
strcpy(p, "введенная строка");
Цитата Сообщение от go Посмотреть сообщение
Скомпилить пробовали?

Не по теме:

а что ответы на форуме надо компилировать? Я как-то тут редко виж.студию включаю для ответа

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2012, 14:31     Динамическая память и строки
Еще ссылки по теме:

Строки, динамическая память, обрезка строк C++
C++ Динамическая память с++
C++ строки и динамическая память

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

Или воспользуйтесь поиском по форуму:
silent_1991
30.11.2012, 14:31     Динамическая память и строки
  #11

Не по теме:

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Я как-то тут редко виж.студию включаю для ответа
А что, приготовленную еду надо пробовать?
Консоль - раз.
Онлайн-компиляторы и даже целые среды программирования - два.

Yandex
Объявления
30.11.2012, 14:31     Динамическая память и строки
Ответ Создать тему
Опции темы

Текущее время: 11:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru