17
ответов

Установка переменной в NULL после освобождения

В моей компании есть правило кодирования, которое гласит, что после освобождения памяти сбросьте переменную в NULL. Например ... void some_func () {int * nPtr; nPtr = malloc (100); бесплатно (nPtr); ...
вопрос задан: 14 August 2015 18:20
13
ответов

Что ДЕЙСТВИТЕЛЬНО происходит, когда вы не освобождаетесь после malloc?

Это было то, что беспокоило меня целую вечность. Нас всех учат в школе (по крайней мере, так было), что вы ДОЛЖНЫ освободить каждый указатель, который выделен. Мне немного любопытно, хотя, о реальном ...
вопрос задан: 20 April 2016 09:32
11
ответов

Как делают malloc () и свободный () работа?

Я хочу знать как malloc и бесплатная работа. международное основное () {неподписанный символ *p = (неподписанный символ*) malloc (4*sizeof (неподписанный символ)); memset (p, 0,4); strcpy ((символ*) p, "abcdabcd");//** сознательно...
вопрос задан: 12 April 2018 16:42
10
ответов

Есть ли опасность в вызове свободного (), или удалите вместо, удаляют []? [дубликат]

Возможный Дубликат: (POD) память освобождения: удаляют [] равный для удаления? Действительно удаляет освобождают элементы вне первого в массиве? символ *s = новый символ [n]; удалите s; это имеет значение в...
вопрос задан: 23 May 2017 12:00
10
ответов

Освобождение памяти, возвращенной из функций C

В C, который является лучшей практикой когда дело доходит до освобождения памяти, возвращенной из функций: Обеспечьте функцию "деструктора", которая инкапсулирует вызов к свободному (). Потребуйте пользователей к свободному () возвращенный...
вопрос задан: 26 May 2009 18:40
9
ответов

Нужно действительно установить указатели на 'ПУСТОЙ УКАЗАТЕЛЬ' после освобождения их?

Кажется, существует два аргумента, почему нужно установить указатель в NULL после освобождения их. Постарайтесь не отказывать когда дважды освобождающие указатели. Короткий: бесплатный Вызов () во второй раз, случайно, не отказывает...
вопрос задан: 23 May 2017 10:30
9
ответов

Почему свободный (p) не устанавливает p в NULL?

Какие-либо причины, почему это не может быть стандартным поведением свободных ()? несколько указателей, указывающих на тот же объект: #include <stdlib.h> #include <stdio.h> освобождают safefree (void*& p) {свободный (...
вопрос задан: 6 June 2016 15:09
9
ответов

Что лучший способ к свободной памяти после возврата из ошибки?

Предположим, что у меня есть функция, которая выделяет память для вызывающей стороны: интервал func (освобождают ** mem1, пусто ** mem2) {*mem1 = malloc (РАЗМЕР); если (! *mem1), возвращаются 1; *mem2 = malloc (РАЗМЕР); если (! *mem2) {...
вопрос задан: 20 February 2009 16:54
8
ответов

C Программирование: malloc и свободный в цикле

Я только что начал с C, и имейте очень мало знания о проблемах производительности с malloc () и свободный (). Мой вопрос - это: если я должен был назвать malloc () сопровождаемым свободным () внутри некоторое время цикл это...
вопрос задан: 17 February 2018 00:06
8
ответов

Освобождение памяти дважды

В C и C++, Освобождая Нулевого указателя не приведет ни к чему сделанному. Однако, я вижу, что люди говорят, что повреждение памяти может произойти если Вы "свободная память дважды". Действительно ли это верно? Что продолжается под...
вопрос задан: 13 June 2014 20:31
8
ответов

Как действительно освобождает, знают, сколько освободить?

В программировании C можно ли передать какой-либо вид указателя, который Вы любите как аргумент свободному, как это знает размер выделенной памяти к свободному? Каждый раз, когда я передаю указатель на некоторую функцию, я имею к...
вопрос задан: 27 November 2013 11:25
8
ответов

Как освободить () malloc () 'd структурированный правильно?

у меня есть структура malloc () 'd, и после использования их, я хочу освободить () его, но моя программа замораживается здесь. Кто-либо может сказать мне, что я делаю неправильно? Вот мой код: данные структуры {символ *...
вопрос задан: 8 September 2010 02:21
8
ответов

Действительно освобождает (ptr), где ptr является ПУСТОЙ поврежденной памятью?

Теоретически я могу сказать что свободный (ptr); свободный (ptr); повреждение памяти, так как мы освобождаем память, которая была уже освобождена. Но что, если свободный (ptr); ptr=NULL; свободный (ptr); Как ОС...
вопрос задан: 7 September 2010 14:53
8
ответов

Почему я должен использовать свободный на указателе, но не нормальном объявлении?

Почему делают я должен использовать свободный (), когда я объявляю указатель, такой как: интервал *работает временно = (интервал*) malloc (sizeof (интервал)) *временный файл = 3; но не, когда я делаю: международный временный файл = 3;
вопрос задан: 9 March 2009 17:24
8
ответов

Освобождение в atexit ()

Там какая-либо точка является к освобождению памяти в atexit () функцией? У меня есть глобальная переменная, которая получает malloc'ed после запуска. Я мог записать atexit () функция для освобождения его, но не являюсь системой, идущей в...
вопрос задан: 24 October 2008 23:17
7
ответов

Неспособный к свободным указателям константы в C

Как я могу освободить символ константы*? Я выделил новую память с помощью malloc, и когда я пытаюсь освободить ее, я всегда получаю ошибку "несовместимый тип указателя" код, который вызывает, это - что-то как:...
вопрос задан: 19 November 2015 22:37
7
ответов

Действительно ли я должен освободить выделенную память на аварийном завершении?

Моя программа (веб-браузер текстового режима) динамично выделяет память. Я действительно освобождаю ненужные блоки во время времени выполнения, конечно. И я действительно освобождаю все перед нормальным завершением - так, чтобы утечка памяти...
вопрос задан: 23 July 2010 10:12
7
ответов

Почему точно разве я не должен называть свободным () на переменных не выделенный malloc ()?

Я считал где-нибудь, что это имеет катастрофические последствия для использования, бесплатного избавиться от объекта, не созданного путем вызова malloc, действительно ли это верно? почему?
вопрос задан: 22 April 2010 05:33
7
ответов

Если свободный () знает длину моего массива, почему я не могу попросить его в своем собственном коде?

Я знаю, что это - общая конвенция передать длину динамично выделенных массивов к функциям, которые управляют ими: освободите initializeAndFree (интервал* anArray, size_t длина); международное основное () {size_t...
вопрос задан: 17 April 2010 16:54
7
ответов

Отказ сегментации после свободный (), каковы частые причины для этого?

Я получаю отказ сегментации после освобождения определенного указателя: свободный (studentDB-> имя); я могу получить его значение без любых ошибок или предупреждений: printf (" [DBG] studentDB-> имя: %s\n", studentDB-> имя)...
вопрос задан: 21 February 2010 21:36
7
ответов

Как действительно освобождают и работа malloc в C?

Я пытаюсь выяснить то, что было бы, произошел, если я пытаюсь освободить указатель "с середины", например, посмотреть на следующий код: символ *ptr = (символ*) malloc (10*sizeof (символ)); для (символ i=0; я <10...
вопрос задан: 24 December 2009 08:54
7
ответов

Шаблоны для освобождения памяти в C?

Я в настоящее время работаю над базирующимся приложением C, немного застревают при освобождении памяти способом неантишаблона. Я - любитель управления памятью. Моя основная проблема, я объявляю структуры памяти в...
вопрос задан: 28 March 2009 03:23
6
ответов

Каково различие между освобождением указателя и присвоением его к ПУСТОМУ УКАЗАТЕЛЮ?

Мог кто-то говорить мне различие между: интервал *p; p = (интервал*) malloc (10*sizeof (интервал)); свободный (p); или интервал *p; p = (интервал*) malloc (10*sizeof (интервал)); p=NULL;
вопрос задан: 26 September 2010 18:11
6
ответов

Проверка с практическими рекомендациями, если символ* указывает на строковый литерал в C

У меня есть запрос структуры структуры {международный код; символ *сообщение;}; то, что я хотел бы освободить правильно. У меня есть следующая функция, чтобы сделать это: освободите free_request (запрос структуры *req) {если (req->...
вопрос задан: 3 August 2010 16:45
6
ответов

Как освободить статическую членскую переменную в C++?

Кто-либо может объяснить как свободной памяти статической членской Переменной? В моем понимании это может только быть освобождено, если все экземпляры класса уничтожаются. Я немного беспомощен в этой точке......
вопрос задан: 4 May 2010 23:15
6
ответов

свободный () на стековой памяти

Я поддерживаю некоторый код c Соляриса, и я видел что-то странное, по крайней мере, я думаю, что это: символьный new_login[64];... strcpy (new_login, (символ *) вход в систему);... свободный (new_login); Мое понимание - это...
вопрос задан: 22 April 2010 08:05
6
ответов

C ошибка управления памятью?

Это - моя программа C: #include <stdlib.h> #include <stdio.h> #include <string.h> #include <time.h> #include <ctype.h> #define ЛОЖНАЯ структура 0 #define TRUE 1 определения типа...
вопрос задан: 3 September 2009 07:34
5
ответов

Как отследить ошибку «двойное освобождение или повреждение»

Когда я запускаю свою (C ++) программу, она вылетает с этой ошибкой. * Обнаружен glibc * ./load: двойное освобождение или повреждение (! prev): 0x0000000000c6ed50 *** Как я могу отследить ошибку? Я пытался использовать печать (...
вопрос задан: 6 December 2018 13:13
5
ответов

C: Правильно освобождающая память многомерного массива

Скажите, что у Вас есть следующий ANSI C код, который инициализирует многомерный массив: международное основное () {интервал i, m = 5, n = 20; интервал ** = malloc (m * sizeof (интервал *));//Инициализируют массивы...
вопрос задан: 23 May 2017 12:10
5
ответов

Приручение malloc/free зверя — подсказки и приемы

Я использовал C на некоторых проектах для степени магистра, но никогда не создавал производственное программное обеспечение с ним. (.NET и JavaScript являются моим хлебом с маслом.), Очевидно, потребность освободить () память это...
вопрос задан: 18 July 2013 18:02