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

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

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

Динамическое выделение памяти - C++

21.09.2013, 14:43. Просмотров 321. Ответов 3
Метки нет (Все метки)

Вот у меня есть 2 примера:
C++
1
2
char* str = "Немыслимый текст";
char* s = new char [strlen(str)+1];
Тут указатель s будет указывать на блок в памяти, который по размеру равен строке, на которую указывает указатель str и +1 символ для нулевого символа.

C++
1
2
char* str = new char;
std::cin>>str;
А вот под что выделяется память так? Хоть такое и работает но я не могу понять на какой блок памяти будет указывать указатель str с самого начала и почему он способен вместить то, что в него запишут после инициализации?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2013, 14:43     Динамическое выделение памяти
Посмотрите здесь:

Распределение памяти. Динамическое выделение памяти - C++
an-1 an-2 ... a2

Динамическое выделение памяти - C++
Использовать динамическое выделение памяти для программы : #include "stdafx.h" #include <iostream> #include <iomanip> #include...

Динамическое выделение памяти - C++
Почему распечатка матрицы Matr1 в f2 дает матрицу из ед., а в f1 матрицу из нулей? Ведь адрес первого эл. массива Matr2 сохранен в...

Динамическое выделение памяти - C++
Первый раз столкнулся с такой задачей... Дали лабораторную работу: Разработать приложения, реализующее следующие функции: 1) Выделяет...

Динамическое выделение памяти - C++
Здравствуйте, у меня вопросик такой: почему при "динамическом выделении памяти в строку" у меня вылетает программа!? а при обычном...

Динамическое выделение памяти - C++
Выполнить задание используя динамическое выделение памяти: Данная целочисленная прямоугольная матрица. Определить: -количество строк,...

Динамическое выделение памяти. - C++
Доброго времени суток. Помогите, пожалуйста, решить задачу. Задача тривиальна - поиск и замена подстроки. Суть в чем: необходимо...

Динамическое выделение памяти - C++
Объясните пожалуйста.Не могу понять в чём разница между malloc,calloc/free и new/delete

Динамическое выделение памяти - C++
Есть следующее объявление #include<iostream> #define MAX 1000 //======================= int arr; int arr2; int arr3; ...

динамическое выделение памяти - C++
дана целочисленная прямоугольная матрица. определить: 1) количество строк, не содержащих ни одного нулевого элемента; 2) максимальное...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
21.09.2013, 15:09     Динамическое выделение памяти #2
Вообще подозрительный код. std::cin ничего не известно о размере памяти, на которую ссылается указатель str, значит, по идее произойдет переполнение буффера. Но пробовал запускать в отладчике и он молчал...
ququ_smile
1 / 1 / 0
Регистрация: 28.01.2013
Сообщений: 153
21.09.2013, 15:24  [ТС]     Динамическое выделение памяти #3
А если бы вы определяли строку через указатель, то как бы вводили её из клавиатуры?
Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
21.09.2013, 15:29     Динамическое выделение памяти #4
Лично я бы вот так. cin.getline(str, STR_SIZE)
Где STR_SIZE - размер буфера str. В примере выше он равен единичке
Yandex
Объявления
21.09.2013, 15:29     Динамическое выделение памяти
Ответ Создать тему
Опции темы

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