alloca () выделяет память в стеке, а не в куче, как в случае malloc (). Итак, когда я возвращаюсь из рутины, память освобождается. Итак, на самом деле это решает мою проблему освобождения ...
В моей компании есть правило кодирования, которое гласит, что после освобождения памяти сбросьте переменную в NULL. Например ... void some_func () {int * nPtr; nPtr = malloc (100); бесплатно (nPtr); ...
Возьмите следующий код: интервал *p = malloc (2 * sizeof *p); p [0] = 10;//Используя два I p[1] пробелов = 20;//выделенный с malloc прежде. p[2] = 30;//использующий другое место, которое я не выделял...
Я пытаюсь сохранить большой объем булевой информации, которая определяется во времени выполнения. Я задавался вопросом, каков лучший метод мог бы быть. Я в настоящее время пытался выделить использование памяти:...
У меня есть часть кода, написанного очень старым школьным программистом :-). это проходит примерно так структура определения типа ts_request {ts_request_buffer_header_def заголовок; символ...
Это было то, что беспокоило меня целую вечность. Нас всех учат в школе (по крайней мере, так было), что вы ДОЛЖНЫ освободить каждый указатель, который выделен. Мне немного любопытно, хотя, о реальном ...
Сколько из узкого места выделение памяти / освобождение в типичных реальных программах? Ответы от любого типа программы, где производительность обычно имеет значение, приветствуются. Достойны...
Когда мы используем malloc () для выделения памяти, мы должны дать размер, который у власти из два? Или мы просто даем точный размер, в котором мы нуждаемся? Как//символ *ptr = malloc (200); символ *ptr = malloc (256);//...
Кто-то сказал мне, что выделение с malloc больше не безопасно, я не гуру C/C++, но я сделал некоторый материал с malloc и C/C++. Кто-либо знает, о каких рисках я в? Заключение в кавычки его: [.....
Я понимаю, что пример кода ниже - что-то, что Вы никогда не должны делать. Моим вопросом является только один из интереса. Если Вы выделяете блок памяти и затем перемещаете указатель (нет - нет), когда Вы освобождаете...
Я посвятил большое количество строк кода C к cleanup-labels/conditionals для неудавшегося выделения памяти (обозначенный семейством выделения, возвращающим ПУСТОЙ УКАЗАТЕЛЬ). Мне преподавали, что это было хорошей практикой так...
У меня есть эта часть кода #include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <string.h> международное основное () {пусто *a, *b; = malloc (16); b = malloc (16);...
Я выделил "массив" mystruct размера n как это: если (ПУСТОЙ УКАЗАТЕЛЬ == (p = calloc (sizeof (структура mystruct) * n, 1))) {/* обрабатывают ошибку */} Позже, я только имею доступ к p и больше не имею n...
Что надлежащий/предпочтительный путь состоит в том, чтобы выделить память в API C? Я вижу, сначала, две опции: 1) Позвольте вызывающей стороне сделать всю (внешнюю) обработку памяти: myStruct *s = malloc (sizeof (s));...
Я считал, что свободный () "обычно" не возвращает память ОС. Мы можем портативно использовать эту функцию свободных (). Например, действительно ли это портативно?/* Предполагают, что я знаю, что мне была бы нужна память...
У меня есть некоторый код в нескольких различных функциях, который выглядит примерно так: освободите someFunction (интервал *данные) {данные = (интервал *) malloc (sizeof (данные));} освобождают useData (интервал *данные) {printf (" %...
Возможные Дубликаты: Как я могу получить размер массива от указателя в C? Там какой-либо путь состоит в том, чтобы определить размер массива C++ программно? И в противном случае почему? Я получаю указатель на блок...
Что делает malloc (0) возвраты? Ответ был бы тем же для перевыделения (malloc (0), 0)? #include <stdio.h> #include <malloc.h> международное основное () {printf (" %p\n", malloc (0)); printf (" %p\n"...
Одна стратегия, что я, хотя из меня выделяет 5 мегабайтов памяти (или безотносительно числа Вы чувствуете себя необходимыми) при запуске программы. Затем, когда в любом malloc программы точки () возвращает ПУСТОЙ УКАЗАТЕЛЬ, Вас...
Часть моего кода все еще использует malloc вместо нового. Причина состоит в том, потому что я боюсь использовать новый, потому что она выдает исключение, вместо того, чтобы возвратить ПУСТОЙ УКАЗАТЕЛЬ, на который я могу легко проверить. Обертывание каждый
У меня есть отказ сегментации в коде ниже, но после того, как я изменил его на указатель на указатель, он прекрасен. Кто-либо мог привести мне какую-либо причину? пустая память (интервал * p, международный размер) {попытка {p = (интервал *...
Предположим, что у меня есть функция, которая выделяет память для вызывающей стороны: интервал func (освобождают ** mem1, пусто ** mem2) {*mem1 = malloc (РАЗМЕР); если (! *mem1), возвращаются 1; *mem2 = malloc (РАЗМЕР); если (! *mem2) {...
В новинку для C, большое спасибо за справку. Действительно ли возможно определить массив в C или без определения его размера или без инициализации его. Например, могу я предлагать пользователю вводить номера и хранить их в...
Я только что начал с C, и имейте очень мало знания о проблемах производительности с malloc () и свободный (). Мой вопрос - это: если я должен был назвать malloc () сопровождаемым свободным () внутри некоторое время цикл это...
Каково преимущество использования malloc (помимо ПУСТОГО возврата при отказе) по статическим массивам? Следующая программа съест весь мой поршень и начнет заполнять подкачку, только если циклы не прокомментированы. Это...
У меня есть структура, в которой есть массив другой структуры. typedef struct info_single {pid_t pidx; тип int; } info_single; struct shared_info {long indexx; структура ...
В C++ использование удаляет к свободной памяти, полученной с malloc (), не обязательно заставляет программу аварийно завершаться. Если предупреждение или возможно даже отказ утверждения должен быть произведен, если удаляют, привык к...