Вопросы с тегом '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 в 12:47
4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

У меня возникают проблемы с пониманием того, как работает realloc. Если я перечислил буфер и скопировал данные в этот буфер, скажем, "AB": +------------+ | A | B | \0 | +------------+ то я перераспределяю буфер, будут ли потеряны данные (даже ...
04 февр. '12 в 17: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; } Есть ли опасность в р...
26 авг. '12 в 22:12