Вопросы с тегом 'realloc'

C для перераспределения динамически выделенной области памяти.
10 отв.

Что возвращает malloc (0)?

Что возвращает malloc(0)? Будет ли ответ таким же для realloc(malloc(0),0)? #include<stdio.h> #include<malloc.h> int main() { printf("%p\n", malloc(0)); printf("%p\n", realloc(malloc(0), 0)); return 0; } Выход ...
25 янв. '10 в 15:47
4 отв.

Как вы realloc на С++?

Как я могу realloc на С++? Кажется, что отсутствует язык - есть new и delete, но не resize! Мне это нужно, потому что, когда моя программа читает больше данных, мне нужно перераспределить буфер для его хранения. Я не думаю, что delete старый указа...
14 авг. '10 в 13:39
3 отв.

Имеет ли std::vector * * для перемещения объектов при увеличении емкости? Или, могут ли распределители "перераспределять"?

A другой вопрос вдохновил следующую мысль: Нужно ли std::vector<T> перемещать все элементы при увеличении его емкости? Насколько я понимаю, стандартное поведение заключается в том, что базовый распределитель запросит весь фрагмент нового раз...
04 нояб. '11 в 2:30
5 отв.

Почему в дистрибутивах С++ нет функции перераспределения?

В C стандартными функциями обработки памяти являются malloc(), realloc() и free(). Однако С++ stdlib-распределители только параллельны двум из них: нет функции перераспределения. Конечно, было бы невозможно сделать то же самое, что и realloc(), пото...
23 июня '10 в 22:49
4 отв.

Переписывает ли realloc старое содержимое?

Когда мы перераспределяем память через realloc(), предыдущее содержимое переписано? Я пытаюсь создать программу, которая перераспределяет память каждый раз, когда мы вводим в нее данные. Расскажите, пожалуйста, о распределении памяти через realloc,...
03 окт. '10 в 20:18
2 отв.

Какой заголовок следует включить для memcpy и realloc?

Я переношу проект на iPhone и использует realloc и memcpy, которые не найдены. Что включает заголовок? Это смешение проекта Objective C и С++, и я начинаю теряться. Заранее благодарим за помощь!
17 февр. '10 в 22:21
9 отв.

Безопасно ли перераспределять память, выделенную с помощью нового?

Из того, что написано здесь, new выделяет в свободном хранилище, а malloc использует кучу, и два термина часто означают одно и то же. Из того, что написано здесь, realloc может переместить блок памяти в новое место. Если свободное хранилище и куча ...
14 нояб. '15 в 11:25
3 отв.

Динамический массив в C. Является ли мое понимание malloc/realloc правильным?

Я изучаю, как создавать динамические массивы 1D в C. Приведенный ниже код пытается сделать это: Создайте динамический массив длиной 10, который содержит удвоения, используя таНос. Задайте каждую запись массива j/100 для j = 0,1,..., 9. Затем распе...
01 окт. '12 в 18:06
4 отв.

Предоставляет ли realloc первый буфер, если он не работает?

Если realloc терпит неудачу и возвращает NULL - это бывший буфер free'd или он сохраняется нетронутым? Я не нашел эту конкретную информацию на странице руководства, и я совершенно не уверен, что делать. Если память освобождается, то двойная свобода м...
22 окт. '09 в 15:56
8 отв.

Как работают realloc и memcpy?

У меня есть два вопроса. Сделайте realloc() и memcpy() скопируйте записи в массив в другой быстрее, чем просто итерации для каждого элемента O(N)? Если ответ "да", то какова, по вашему мнению, его сложность? Если размер выделенного размера меньше...
12 дек. '08 в 16:43
4 отв.

Использование realloc для сокращения выделенной памяти

Простой вопрос о функции realloc в C: Если я использую realloc для сокращения блока памяти, на который указывает указатель, освобождается ли "лишняя" память? Или нужно как-то освободиться вручную? Например, если я делаю int *myPointer = malloc(100*...
16 авг. '11 в 15:11
5 отв.

Могу ли я предположить, что вызов realloc с меньшим размером освободит остаток?

Давайте рассмотрим этот очень короткий фрагмент кода: #include <stdlib.h> int main() { char* a = malloc(20000); char* b = realloc(a, 5); free(b); return 0; } После прочтения man-страницы realloc я не был полностью уверен, ч...
06 марта '12 в 1:36
7 отв.

Выравнивание памяти?

У меня есть несколько связанных вопросов об управлении выровненными блоками памяти. Кросс-платформенные ответы были бы идеальными. Однако, поскольку я уверен, что кросс-платформенное решение не существует, меня в основном интересуют Windows и Linux, ...
21 февр. '11 в 4:12
2 отв.

Мы теряем данные в буфере после realloc'ing?

У меня возникают проблемы с пониманием того, как работает realloc. Если я перечислил буфер и скопировал данные в этот буфер, скажем, "AB": +------------+ | A | B | \0 | +------------+ то я перераспределяю буфер, будут ли потеряны данные (даже ...
04 февр. '12 в 20:23
3 отв.

Realloc на указателе NULL-значный (или undefined)

Я читал о realloc и путался о том, что упоминалось там. Рассмотрим следующий код: #include <stdio.h> #include <stdlib.h> int main () { int* ptr = NULL; ptr = realloc(ptr, 10*sizeof(int)); return 0; } Есть ли опасность в р...
27 авг. '12 в 1:12