Результаты поиска по запросу "malloc"

8 ответов

Не обязательно. Смотри мой ответ.

ал, что я не могу получить длину выделенного блока памяти, как простой.length функция в Java. Тем не менее, теперь я знаю, что когдаmalloc() выделяет блок, он выделяет дополнительные байты для хранения целого числа, содержащего размер блока. Это ...

5 ответов

@ Helium3: установка указателя на NULL после того, как вы отменили его, это мера предосторожности, поэтому, если вы попытаетесь использовать его снова, вы получите немедленный segfault вместо неопределенного поведения. Я не знаю о цели C - я не делаю Apple.

ьно простой вопрос здесь, я немного не уверен в том, как можно обойти память в C. Если у меня есть следующее CGPoint* tileForCoordinates (CGPoint position, short width, short height) { CGPoint *tileCoordinate = ...

8 ответов

Операционная система освободит память, однако рекомендуется освобождать вещи, если вы ожидаете, что они выйдут за рамки, прежде чем вы выделите что-то еще. Тем не менее, вы можете более или менее полагаться на прекращение программы, чтобы справиться с управлением памятью для вас.

я выделил память в моей C-программе, используяmalloc и теперь я хочу выйти, нужно ли освободить выделенную память или я могу предположить, что, поскольку вся моя программа завершает свою работу, она будет освобождена ОС? Я бегу в среде Linux.

ТОП публикаций

1 ответ

Как free () знает, сколько памяти нужно освободить? [Дубликат]

Возможный дубликат: Программирование на C: как free знает, сколько стоит free? [https://stackoverflow.com/questions/1518711/c-programming-how-does-free-know-how-much-to-free] При программировании на С я часто используюmalloc() выделить память ...

4 ответа

Да ты прав

аюсь создать массив строк в C, используяmalloc, Количество строк, которые будет содержать массив, может изменяться во время выполнения, но длина строк всегда будет согласованной. Я пытался это сделать (см. Ниже), но у меня возникли проблемы, ...

5 ответов

память для операционной системы.

уйста, помогите :) ОС: Linux Где в «sleep (1000);», в это время «top (отображать задачи Linux)» написали мне 7,7% MEM. valgrind: не обнаружена утечка памяти. Я понимаю, написал правильно и все malloc результат NULL. Но почему в это время "спит" ...

2 ответа

Я установил последний svn numpy, и проблема исчезла. Я предполагаю, что это было внутри одной из функций numpy. У меня никогда не было возможности углубиться в это.

исал код в Python, который не освобождает память так, как должен. Память забирается Python, но никогда не освобождается даже после того, как она больше не используется. Даже если вы сломаете запущенную программу с помощью Ctrl + C. Удалите ...

1 ответ

Каждый раз, когда вы работаете с указателем, важно убедиться, что он установлен в значение, прежде чем разыменовывать его. Поощряйте, чтобы ваш компилятор предупреждал вас, многие современные компиляторы могут уловить подобные вещи. Вы также можете задать указатели cutesy значения по умолчанию, например 0xdeadbeef (да! Это число в шестнадцатеричном формате, это также просто слово, так что это выглядит забавно), чтобы они выделялись. (Опция% p для printf полезна для отображения указателей, как грубая форма отладки. Программы отладчика также могут показать их довольно хорошо.)

ал C всего несколько недель, и я не потратил много времени на то, чтобы беспокоиться о себеmalloc(), Однако недавно моя программа возвратила строку счастливых лиц вместо истинных / ложных значений, которые я ожидал. Если я создаю структуру, как ...

3 ответа

 это одна ссылка.

аюсь написать простую разделяемую библиотеку, которая бы записывала вызовы malloc в stderr (своего рода mtrace, если хотите). Однако это не работает. Вот что я делаю: /* mtrace.c */ #include <dlfcn.h> #include <stdio.h> static ...

8 ответов

Использование malloc для выделения многомерных массивов с разными длинами строк

У меня есть следующееC код: int *a; size_t size = 2000*sizeof(int); a = (int *) malloc(size);который отлично работает Но если у меня есть следующее: char **b = malloc(2000*sizeof *b);где каждый элементb имеет разную длину. Как можно сделать то ...