Вопросы с тегом 'malloc'

Функция malloc выполняет динамическое распределение памяти в C и является частью стандартной библиотеки. Используйте этот тег для вопросов об использовании, поведении и реализации malloc.
28 отв.

Вывести результат malloc?

В этот вопрос, кто-то предложил в comment, что я должен не введите результат malloc, т.е. int *sieve = malloc(sizeof(int) * length); а не: int *sieve = (int *) malloc(sizeof(int) * length); Почему это так?
03 марта '09 в 13:13
18 отв.

Разница между malloc и calloc?

В чем разница между выполнением: ptr = (char **) malloc (MAXELEMS * sizeof(char *)); или ptr = (char **) calloc (MAXELEMS, sizeof(char*)); Когда полезно использовать calloc над malloc или наоборот?
08 окт. '09 в 18:04
17 отв.

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

Это то, что беспокоило меня целую вечность. Мы все учимся в школе (по крайней мере, я был), что вы ДОЛЖНЫ освобождать каждый указатель, который выделяется. Мне немного любопытно, правда, о реальной стоимости освобождения памяти. В некоторых очевидны...
17 марта '09 в 18:29
19 отв.

В каких случаях я использую malloc vs new?

Я вижу, что в С++ существует несколько способов выделения и освобождения данных, и я понимаю, что при вызове malloc вы должны называть free, а когда вы используете оператор new, вы должны соединить с delete, и это (например, вызов free() на то, что ...
08 окт. '08 в 22:47
25 отв.

Почему использование alloca() не считается хорошей практикой?

alloca() выделяет память в стеке, а не в куче, как в случае malloc(). Поэтому, когда я возвращаюсь из рутины, память освобождается. Итак, на самом деле это решает мою проблему освобождения динамически распределенной памяти. Освобождение памяти, выде...
19 июня '09 в 19:24
14 отв.

Как работают malloc() и free()?

Я хочу знать, как malloc и free работа. int main() { unsigned char *p = (unsigned char*)malloc(4*sizeof(unsigned char)); memset(p,0,4); strcpy((char*)p,"abcdabcd"); // **deliberately storing 8bytes** cout << p; free(p); // ...
13 июля '09 в 15:22
3 отв.

Почему malloc + memset работает медленнее, чем calloc?

Известно, что calloc отличается от malloc тем, что он инициализирует выделенную память. С calloc память установлена ​​на ноль. С malloc память не очищается. Поэтому в повседневной работе я рассматриваю calloc как malloc + memset. Кстати, для удовол...
22 апр. '10 в 8:40
1 отв.

Почему в Книге говорят, что я должен бросить malloc?

Сегодня я достиг страницы 167 Язык программирования C (второе издание Брайан У. Керниган и Деннис М. Ричи) и обнаружил, что автор говорит, что я должен использовать malloc. Вот часть из книги: 7.8.5 Управление хранилищем Функции malloc и callo...
18 сент. '15 в 15:36
5 отв.

Несовместимое неявное объявление встроенной функции 'malloc

Я получаю эту ошибку: предупреждение: несовместимое неявное объявление встроенной функции 'malloc Я пытаюсь сделать это: fileinfo_list* tempList = malloc(sizeof(fileinfo_list)); Только для справки используемая структура: typedef struct { ...
13 авг. '11 в 16:49
23 отв.

Установка переменной в NULL после

В моей компании есть правило кодирования, которое говорит, освободив любую память, reset переменную до NULL. Например... void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; return; } Я чувствую, ч...
22 июня '09 в 8:35
12 отв.

Как вы можете вводить пробелы с помощью scanf?

Используя следующий код: char *name = malloc(sizeof(char) + 256); printf("What is your name? "); scanf("%s", name); printf("Hello %s. Nice to meet you.\n", name); Пользователь может ввести свое имя, но когда он вводит имя с пробелом, как Lucas...
08 авг. '09 в 7:37
3 отв.

Причудливый способ выделения двумерного массива?

В проекте кто-то нажал эту строку: double (*e)[n+1] = malloc((n+1) * sizeof(*e)); Что предположительно создает двумерный массив (n + 1) * (n + 1), удваивается. Предположительно, я говорю, потому что до сих пор никто, кого я попросил, не мог сказа...
22 апр. '16 в 15:43
8 отв.

Malloc vs new - различная прокладка

Я просматриваю код другого С++ для нашего проекта, который использует MPI для высокопроизводительных вычислений (10 ^ 5 - 10 ^ 6 ядер). Код предназначен для обеспечения связи между (потенциально) разными машинами на разных архитектурах. Он написал ко...
08 нояб. '12 в 13:01
6 отв.

Что такое куча памяти?

Что такое куча памяти?
22 февр. '10 в 7:15
17 отв.

что точка в malloc (0)?

Просто увидел этот code: artist = (char *) malloc(0); и мне было интересно, зачем это делать?
07 янв. '10 в 20:43