Описание тега dynamic-memory-allocation
Динамическое выделение памяти, обычно в контексте языков без сборки мусора или обязательного или автоматического подсчета ссылок, относится к процессу или запрашивает у операционной системы блок памяти переменного размера.
3
ответа
Какое содержимое памяти только что выделено функцией malloc()?
Мне было интересно, что именно держит указатель после malloc() был использован для выделения памяти? Manpage говорит мне, что calloc() инициализирует выделенное пространство памяти с нуля. Функция malloc() распределяет байты размера и возвращает ука…
12 май '16 в 10:50
1
ответ
Указатель на функцию, получающую ошибку "должен быть изменяемым"
У меня есть небольшая проблема - по какой-то причине, когда я пытаюсь перераспределить память на указатель на указатель структуры, чтобы увеличить количество блоков памяти на один для дополнительной структуры в функции, Intellisense говорит мне, что…
04 янв '14 в 04:28
3
ответа
"нет подходящей функции для вызова 'Map<Flat>:: functionname"
Я пытаюсь настроить среду для путешествующих продавцов. Это моя попытка: #include <iostream> using namespace std; #include<stdlib.h> #include <cstdlib> #include <cmath> class Base //Allocate the memory space { protected: int …
24 фев '15 в 17:31
3
ответа
Сбой realloc после нескольких вызовов только тогда, когда не происходит отладка
Приведенный ниже код иногда дает сбой на buffer = (char*) realloc(buffer, allocated * sizeof(char)); вызов (отмечен ниже), который я использую для динамического выделения пространства для char*Изначально выделяя 1 символ и удваивая выделенное количе…
20 авг '13 в 15:13
1
ответ
fscanf вылетает при попытке программы сканировать остальные текстовые файлы
У меня есть текстовый файл с именем словарь, в первой строке это int, который говорит нам, сколько слов в словаре. После первой строки это последующая серия строк со словом на каждой. По какой-то причине fscanf читает в первой строке (целое число) б…
05 фев '16 в 04:12
2
ответа
Глобальные переменные кучи и какова область действия и время жизни переменных кучи
#include<stdio.h> #include<conio.h> #include<alloc.h> int * makearray(int ); void readdata(int *,int ); void printdata(int *,int ); void main() { int *a,num; clrscr(); printf("enter the size of array\n"); scanf("%d",&num); a=ma…
25 дек '16 в 16:18
2
ответа
Чтение чисел из файла в динамически распределяемый массив
Мне нужна функция, которая читает оценки (целые числа) из файла и возвращает динамически распределенный массив, в котором они хранятся. Вот что я попробовал: int *readGrades() { int *grades; int x; scanf("%d", &x); grades = malloc(x * sizeof(int…
30 сен '13 в 11:36
2
ответа
Распределенная динамическая память всегда удаляется?
Я не понимаю, у меня есть оператор switch, который предлагает пользователям создавать динамически выделенную память, отображать все списки и, наконец, удалять их (случай 3, который напечатан ниже.) Когда я выбираю случай 3 в программе и ввожу что-ли…
21 апр '15 в 23:33
1
ответ
Проблемы с выделением памяти Передача / Возвращение структуры * Массив
Пожалуйста, помогите мне с моей домашней работой. У меня эта программа работает нормально в режиме отладки, но как только я использую режим выпуска, она вылетает с прерыванием (). Я знаю, что это, вероятно, связано с распределением памяти, но я недо…
29 июл '15 в 21:36
2
ответа
О времени стоит, что дороже: движение или перезапись? C++11
Допустим, у меня есть стек "неиспользуемых" динамических объектов. Каждый раз, когда мне нужен новый объект, я использую один из этих "неиспользуемых" объектов в качестве заполнителя для новой петиции. Что-то вроде: template<typename T> class …
11 мар '13 в 14:44
2
ответа
Как работает "освободить / удалить"?
Возможные дубликаты: Как удаление работает в C++? Программирование на C: как free знает, сколько стоит free? Для каждого динамического выделения памяти, используя 'malloc / new', у нас есть методы 'free / delete', чтобы освободить выделенную память.…
23 июн '11 в 04:22
2
ответа
Утечка памяти в C++ (valgrind)
Вальгринд утверждает, что я косвенно теряю память; что меня раздражает, так это то, что я понятия не имею, почему это так. Не уверен, является ли это ложным срабатыванием или я просто не понимаю какое-либо назначение указателя или что-то в этом роде…
09 дек '15 в 18:14
1
ответ
Создание массива строк из пользовательского ввода
У меня есть следующая простая программа, которая будет принимать пользователя string введите (" ") из терминала и проанализируйте ввод в массив строк (называемый массив), символ за символом. Всякий раз, когда встречается числовой символ, создается н…
13 сен '15 в 20:37
1
ответ
Как я могу избежать динамического выделения, когда мне нужен полиморфизм?
С GCC на Ubuntu 14.04 и следующим MCVE: class TargetInterface { public: ~TargetInterface(); // DataBuffer retDataBuffer(); // following methods are all pure virtual virtual void delay() = 0; // ... protected: DataBuffer dataBuffer; } class FlashTarg…
23 янв '17 в 10:08
2
ответа
Как сделать динамически распределенную память доступной в глобальном масштабе?
Как сделать динамически выделенную память в качестве глобальной области памяти? #include <stdio.h> #include <string.h> char* call(int); char *y; int main() { char *a; int x; x=45; a=call(x); \\ I guess it must be pointing to the Memory p…
19 июл '11 в 06:13
1
ответ
Использовать strlen с scanf(% мс)
Можно ли использовать strlen() над динамически размещаемой строкой? НА ПРИМЕРЕ: #include <stdio.h> #include <string.h> int main () { char *input=NULL; printf ("Enter a sentence: "); scanf("%ms", &input); //Is this legit? printf ("The…
05 авг '18 в 10:27
1
ответ
В чем разница между этими адресами стека и кучи?
Я делаю некоторые примеры размещения в стеке и куче на виртуальной машине Ubuntu 14.04 (Linux 3.13.0-55-generic i686), и меня смущают адреса памяти для распределений кучи. Приведенный ниже код C выделяет три 32-разрядных беззнаковых целых в стеке и …
11 июн '16 в 10:29
4
ответа
Malloc(0) массив в Windows Visual Studio для C позволяет программе работать отлично
Программа на C - это алгоритм Дамро-Левенштейна, который использует матрицу для сравнения двух строк. На четвертой строчке main(), Я бы хотел malloc() память для матрицы (2d массив). В тестировании я malloc'd (0), и он все еще работает отлично. Каже…
16 сен '16 в 15:23
6
ответов
Сколько байтов динамически выделяется в следующем сегменте кода?
Предполагая, что адрес памяти занимает 4 байта, а символ char занимает 1 байт: char** t; t = malloc(5 * sizeof(char*)); int i; for (i = 0; i < 5; i++) t[i] = malloc(sizeof(char) * (i+1));
01 окт '10 в 15:25
3
ответа
Ошибка сегментации при сортировке массива структуры из указателя
Возможный дубликат: Как найти ошибку в моей программе на C++? Я получаю ошибку сегментации при сортировке структуры. Вот моя структура. typedef struct { char *id; char *timestamp; char *name; char *text; }DATA; DATA *the_array = NULL; Я динамически …
23 мар '12 в 18:48