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

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

Войти
Регистрация
Восстановить пароль
 
_Vova_
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 43
#1

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

25.11.2012, 17:28. Просмотров 716. Ответов 10
Метки нет (Все метки)

Подскажите пожалуйста , как выделить динамическую память под строку , а потом освободить её?
это будет что-то типа такого ...?
C++
1
2
3
char *p;
p=new char[50];
delete [] p;
Как это можно сделать , если нужно , например ,выделить память под строку , ввести строку с клавиатуры а потом удалить память ?

Заранее спасибо за помощь !
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2012, 17:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамическая память и строки (C++):

строки и динамическая память - C++
определить количество слов в строке, начинающихся с заданной пары символов. Строка размещается в динамической памяти

Динамическая память (строки), деструктор - C++
Привет. Бьюсь уже час, помогите разобраться. Написал программу, в одной функции память выделил, в другой освобождаю. После выполнения...

Строки, динамическая память, обрезка строк - C++
Доброго времени суток... Вот задача на дом 2. Показать на экран с m по n символов строки, введенной пользователем и записать данный...

Статическая память,Динамическая память. - C++
a) Статическая память. Двумерный массив. Дан массив целых чисел. В массиве есть отрицательные числа. Определить координаты левого нижнего...

Динамическая память - C++
Кто сможет помочь? Дана матрица А. Упорядочить элементы каждой строки в порядке не убывания. (нужно составить 2 программы с...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
25.11.2012, 17:30 #2
да, а что смущает?
0
v.a.l.i.d
413 / 378 / 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;
0
_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;
0
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
25.11.2012, 17:52 #5
_Vova_,
C++
1
char *s = "MyString";
1
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
25.11.2012, 17:56 #6
Цитата Сообщение от go Посмотреть сообщение
C++
1
char *s = "MyString";
А вот это совершенно другая вещь, нежели это.
Цитата Сообщение от _Vova_ Посмотреть сообщение
C++
1
p=new char[50]="введенная строка";delete [] p;
Строковый литерал s ты изменить не сможешь, а
строку p - вполне!
0
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
25.11.2012, 17:59 #7
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
а
p - вполне!
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
p=new char[50]="введенная строка";
Скомпилить пробовали?
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
25.11.2012, 17:59 #8
C++
1
2
3
4
char *p;
p=new char[50]="введенная строка";
 
delete [] p;
вот так почему то ошибка появляется во время запуска. но компилируется
0
_Vova_
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 43
25.11.2012, 18:00  [ТС] #9
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
А вот это совершенно другая вещь, нежели это.
Строковый литерал s ты изменить не сможешь, а
строку p - вполне!

Так как же мне тогда сделать так , чтобы использовать динам. память ? Мой вариант не работает (
0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 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 Посмотреть сообщение
Скомпилить пробовали?

Не по теме:

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

0
silent_1991
30.11.2012, 14:31     Динамическая память и строки
  #11

Не по теме:

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2012, 14:31
Привет! Вот еще темы с ответами:

динамическая память.... - C++
Ввести двухмерном массив, для работы с массивом использовать указатель. Массив разместить в динамической памяти. Определение суммы...

Динамическая память - C++
в чем ошибка #include &lt;iostream&gt; #include &quot;conio.h&quot; using namespace std; class{A int a; double b; char s; }

Динамическая память [new] - C++
Если записать так: char *p; p = new char; cin&gt;&gt;p; for(int i=0; i&lt;strlen(p); i++) cout&lt;&lt;p&lt;&lt;endl;

Динамическая память - C++
Есть 2 массива одной размерности: int *m1 = new int , *m2 = new int ; где N, M некие числа. Собственно вопрос: как...


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

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

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