NoneFree - это функция для освобождения памяти, полученная из malloc и других функций в C. Не используйте этот тег для ссылки на бесплатное программное обеспечение. Просить рекомендации по программному обеспечению не по теме в stackru. Если у вас есть вопрос о бесплатном программном обеспечении, вы можете задать его здесь: https://softwarerecs.stackexchange.com/
6 ответов

Как освободить символ *, который возвращается из другой функции?

Допустим, у нас есть следующий сценарий. char* halfString(char* input) { char* output = malloc(strlen(input)); int i = 0; for(i = 0; i < strlen(input); i++) output[i] == input[i]; output[i] = '\0'; return output; } int main() { char* input = "Hel…
28 мар '14 в 20:07
1 ответ

Как мне создать динамическое распределение памяти, используя malloc для структур в C?

Я хочу динамически выделять память для "заголовка", так как не знаю, как долго будут заголовки. У меня есть следующий код: #include<stdio.h> #include<malloc.h> struct film { char title[500]; int year; int duration; int earnings; }; void …
29 май '18 в 16:06
2 ответа

Уничтожить деку с помощью указателей и бесплатно в C

Я пытаюсь уничтожить свою деку, но почему-то не получаю указатели. Я написал следующий код (deque это указатель на указатель, который указывает на первый элемент deque). DequeItem - это структуры с полями next (указатель на следующий элемент) и data…
25 апр '12 в 07:23
1 ответ

const char** и free()

Я пытаюсь освободить таблицу указателей с помощью Visual Studio 2013. const char** tableNames = malloc(NB_NAMES * sizeof(char*)); (...) free(tableNames); По какой-то причине Visual продолжает жаловаться:warning C4090: 'function' : different 'const' …
18 дек '15 в 02:05
3 ответа

Как освободить символ *, который будет возвращен?

Скажем, у меня есть функция ниже: char* fakeTrim(char* input) { char* temp = malloc(strlen(input)); int count = 0; for(int i = 0; i < strlen(input); i++) { if(input[i] != ' ') temp[count++] = input[i]; } temp[count] = '\0'; return temp; } Вызывае…
28 мар '14 в 03:03
2 ответа

Изменение размера динамически размещаемых массивов

Я написал следующий код для изменения размера массива, если элемент будет выходить за пределы диапазона при его сохранении. Этот код работает как задумано. #include <stdio.h> #include <stdlib.h> #include <string.h> //! Our location…
23 окт '15 в 18:30
8 ответов

Действительно ли мы должны free(), когда мы используем malloc()? Чем он тогда отличается от автоматической переменной?

ОС просто восстановит его (после выхода из программы), верно? Так что толку, кроме хорошего стиля программирования? Или я что-то недопонимаю? Чем он отличается от "автоматического" распределения, поскольку оба могут быть изменены во время выполнения…
2 ответа

Свободная динамическая двумерная матрица на С

Я сделал код, который выделяет 2 int матрицы и освобождает в конце, после использования. Когда я отключаю первую матрицу, она работает нормально. Во вторых ошибка: munmap_chunk (): неверный указатель: 0x0829a068 ***Abortado (imagem do núcleo gravada…
01 май '16 в 16:05
2 ответа

Свободная куча памяти указателя на переменную указателей

В моем коде есть переменные, которые являются указателем на указатель, и я не знаю, каков размер их выделенной памяти. Как я могу освободить память переменных? Предположим, следующие переменные: int*** a; int** b; а знаете какой код для освобождения…
15 июл '14 в 08:40
2 ответа

Как работает "освободить / удалить"?

Возможные дубликаты: Как удаление работает в C++? Программирование на C: как free знает, сколько стоит free? Для каждого динамического выделения памяти, используя 'malloc / new', у нас есть методы 'free / delete', чтобы освободить выделенную память.…
23 июн '11 в 04:22
0 ответов

Двоичное дерево, не может освободить память

Я создал двоичное дерево (BST), и оно работает просто отлично, но я не могу освободить выделенную память. Узлы состоят из указателей (левый, правый, родительский) и данных, которые представляют собой имя, имя и номер телефона. Имя и имя - это статич…
31 авг '15 в 01:31
1 ответ

Освобождение двумерных массивов в C. "двойное освобождение или повреждение" и "неверный следующий размер"

Так что у меня проблемы с памятью при использовании gcc. У меня есть этот 2D-массив внутри структуры. Я пытаюсь сделать этот код на C немного проще для себя с помощью объектно-ориентированного программирования. Что, кажется, проблема здесь. Всякий р…
14 авг '14 в 22:27
1 ответ

Как бесплатно хранить данные пользователя в облаке из моего приложения?

Я пишу приложение для Android, где пользователи будут иметь личные данные (и только личные данные). Я хотел бы, чтобы у них был какой-то способ хранить его в облаке без оплаты, например, чтобы их данные сохранялись в их Google Диске (хотя и не обяза…
09 сен '18 в 08:21
2 ответа

Нужно ли уничтожать семафоры?

У меня есть класс, работающий с (не статичными) семафорами. В деструкторе этого класса я освобождаю динамически выделяемую память. Объекты класса не должны быть "разрушены", пока мы wait для семафора. Мне все еще нужно использовать sem_destroy в дес…
25 апр '14 в 09:09
2 ответа

C++ освобождает память в priority_queue

У меня есть priority_queue<node*, std::vector<node*>, CompareNodes> heap; Допустим, узел состоит из: class node { public: int value; int key; int order = 1000000; }; Как мне освободить память после того, как я закончу с очередью приорите…
11 май '16 в 17:35
4 ответа

Как в glibc обнаруживаются двойные освобождения?

* glibc detected ./load: double free or corruption (!prev): ADDRESS ** При использовании glibc как он узнает, что я дважды освобождаюсь? Отслеживает ли все, что я искал и освободил? Содержится ли оно в метаданных, например, как свободный знает, скол…
03 сен '13 в 11:10
0 ответов

Сбой PIC32 (неверный указатель) при вызове malloc после использования free()

Я работаю над проектом, включающим PIC32MX220f032b, в котором мне нужно использовать динамическое выделение памяти для объявления неизвестного числа структур в связанном списке. Звонки malloc и все работало нормально, пока я не продолжил удаление да…
07 июл '15 в 13:40
3 ответа

Ошибка двойного освобождения или искажения внутри этой функции?

Ниже моя функция. Он запускается правильно один раз, затем, когда он вызывается во второй раз, он вызывает ошибку, сообщающую мне "двойное освобождение или повреждение". Я попытался добавить +1 в malloc(), как предлагали другие посты, хотя я не хран…
27 янв '18 в 06:07
1 ответ

Используйте free() для структуры, содержащей массив

typedef struct Rental { int nDays; float kmsDriven; char carLicensePlate[LICENSE_PLATE_LENGTH+1]; char *clientName; char chargingCategory; } Rental; Я получил верхнюю структуру, и я сделал массив указателей на эти структуры следующим образом: Rental…
05 дек '15 в 15:23
2 ответа

Свободная память перед возвращением

Предположим, у меня есть следующая программа #include <stdlib.h> #include <stdio.h> #include <string.h> char *returnSomething() { char *myString; myString = malloc(sizeof(char) * 50); strcpy(myString,"hello"); free(myString); retur…
14 сен '17 в 01:12