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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
yoloyol
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 15
#1

Не выполняется realloc - C++

03.06.2012, 13:35. Просмотров 1401. Ответов 20
Метки нет (Все метки)

Вообщем, не могу понять в чем ошибка, malloc() работает, а realloc() выдает ошибки. Имеется собственный тип item (структура, в которой два поля, типа char и int), вот тот самый realloc():
C++
1
2
3
4
5
...
   cout<<"перед realloc"<<endl;
   vector=(item *) realloc(vector, size*sizeof(item)); 
   cout<<"realloc выполнен"<<endl;
...
*первое сообщение выводится, а то, что после realloc'а - нет.

vector - указатель типа item
size - кол-во элементов, для которых требуется место

P.S. IDE - code::blocks
OC Linux (Ubuntu)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2012, 13:35     Не выполняется realloc
Посмотрите здесь:

Код не выполняется в одном месте, но выполняется в другом - C++
Вот код процедуры: LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; HDC hdc; ...

realloc - C++
здраствуйте! решил накатать такой класс #include &lt;stdlib.h&gt; template &lt;typename TYPE&gt; class List { private: TYPE*...

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

realloc - C++
#include &lt;iostream&gt; using namespace std; int main() { int size=0; cout&lt;&lt;&quot;enter size array: &quot;; cin&gt;&gt;size; int...

malloc, realloc - C++
У меня задан одномерный динамический массив таким образом: int *m1=new int; //n-количество элементов, вводится пользователем Далее этот...

Функция realloc - C++
Начнем сразу с кода. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;cstdlib&gt; int main(void) { using namespace std; ...

Альтернатива realloc ? - C++
Ищу способ динамически расширять массив объектов. В с++ использую new и delete, а перемешивать с ними сишные способы выделения памяти...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2012, 16:08     Не выполняется realloc
Еще ссылки по теме:

malloc/realloc - C++
есть следующий код: mmlist=(_mathmod*)malloc(sizeof(_mathmod)); *mmlist=_mathmod(mm); int i=0; ...

аналог realloc() в С++ - C++
Здравствуйте. собственно вопрос:-существует ли таковой?

Malloc realloc и C++ - C++
Подскажите, в C++ 11 выделение памяти по прежнему &quot;нормально&quot; выделять с помощью malloc и изменять размер realloc ? Или это уже прошлое?...

Функция realloc - C++
Помогите правильно записать функцию realloc /*9. Дан одномерный массив из 100 элементов, состоящий из случайных вещественных чисел в...

ошибка realloc C++ - C++
Как изменить размер выделенной памяти? (например выделено 15 байт, как в C++ увеличить размер выделенной памяти(&quot;перераспределить&quot;)) в...


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

Или воспользуйтесь поиском по форуму:
yoloyol
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 15
03.06.2012, 16:08  [ТС]     Не выполняется realloc #21
Цитата Сообщение от Toshkarik Посмотреть сообщение
Вывод консоли
size_malloc= 80
индексирование выполнено
dataList.head= 0
***переход***
переход в else
перед realloc
vector= 0x8764e0
size_realloc= 240
size= 30
realloc выполнен
индексирование выполнено
перераспределение выполнено
***переход***
vector[dataList.curr].element= 1
***переход***
переход в else
перед realloc
vector= 0x8764e0
size_realloc= 720
size= 90
realloc выполнен
индексирование выполнено
перераспределение выполнено
***переход***
vector[dataList.curr].element= 2
***переход***
переход в else
перед realloc
vector= 0x8764e0
size_realloc= 2160
size= 270
realloc выполнен
индексирование выполнено
перераспределение выполнено
***переход***
vector[dataList.curr].element= 3
***переход***
переход в else
перед realloc
vector= 0x8764e0
size_realloc= 6480
size= 810
realloc выполнен
индексирование выполнено
перераспределение выполнено
***переход***
vector[dataList.curr].element= 3
***переход***
переход в else
перед realloc
vector= 0x876d60
size_realloc= 19440
size= 2430
realloc выполнен
индексирование выполнено
перераспределение выполнено
***переход***
vector[dataList.curr].element= 2
***переход***
переход в else
перед realloc
vector= 0x8786c0
size_realloc= 58320
size= 7290
realloc выполнен
индексирование выполнено
перераспределение выполнено
***переход***
vector[dataList.curr].element= 1
***переход***
переход в else
перед realloc
vector= 0x2f7fd0
size_realloc= 174960
size= 21870
realloc выполнен
индексирование выполнено
перераспределение выполнено
***переход***
vector[dataList.curr].element= 1
***переход***
переход в else
перед realloc
vector= 0x3063b0
size_realloc= 524880
size= 65610
realloc выполнен
индексирование выполнено
перераспределение выполнено
***переход***
vector[dataList.curr].element= 2
***переход***
переход в else
перед realloc
vector= 0x330f30
size_realloc= 1574640
size= 196830
realloc выполнен
индексирование выполнено
перераспределение выполнено
***переход***
vector[dataList.curr].element= 3
***переход***
переход в else
перед realloc
vector= 0x6e0040
size_realloc= 4723920
size= 590490
realloc выполнен
индексирование выполнено
перераспределение выполнено
***переход***
vector[dataList.curr].element= 3
***переход***
переход в else
перед realloc
vector= 0x880040
size_realloc= 14171760
size= 1771470
realloc выполнен
индексирование выполнено
перераспределение выполнено
***переход***
vector[dataList.curr].element= 1
***переход***
переход в else
перед realloc
vector= 0xd10040
size_realloc= 42515280
size= 5314410
realloc выполнен
индексирование выполнено
перераспределение выполнено
***переход***
vector[dataList.curr].element= 2

Просто перед return 0; в main вставьте какую нибудь функцию для паузы программы. И после того как данные считаются, посмотрите сколько она занимает памяти в диспетчере задач.
ахах)) на самом деле всё в порядке, тот код который я выложил, я его уже модифицировал и такого, теперь нет))
Yandex
Объявления
03.06.2012, 16:08     Не выполняется realloc
Ответ Создать тему
Опции темы

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