Perguntas com a marcação «malloc»

A função malloc executa a alocação de memória dinâmica em C e faz parte da biblioteca padrão. Use esta tag para perguntas sobre uso, comportamento e implementações de malloc.

2408
Eu transmito o resultado do malloc?

Em esta pergunta , alguém sugeriu em um comentário que eu deveria não converter o resultado de malloc, ou seja, int *sieve = malloc(sizeof(int) * length); ao invés de: int *sieve = (int *) malloc(sizeof(int) * length); Por que isso seria o

780
Diferença entre malloc e calloc?

Qual é a diferença entre doing: ptr = (char **) malloc (MAXELEMS * sizeof(char *)); ou: ptr = (char **) calloc (MAXELEMS, sizeof(char*)); Quando é uma boa ideia usar calloc sobre malloc ou

538
O que REALMENTE acontece quando você não libera após o malloc?

Isso tem sido algo que me incomoda há muito tempo. Todos nós somos ensinados na escola (pelo menos eu fui) que você DEVE libertar todos os indicadores que estão alocados. Estou um pouco curioso, porém, sobre o custo real de não liberar memória. Em alguns casos óbvios, como quando mallocé chamado...

479
Em que casos eu uso malloc e / ou novo?

Vejo em C ++ que existem várias maneiras de alocar e liberar dados e entendo que, quando você liga, mallocdeve ligar freee quando você usa o newoperador, deve emparelhar deletee é um erro misturar as duas (por exemplo, ligar free()para algo que foi criado com o newoperador), mas não estou claro...

276
Como malloc () e free () funcionam?

Eu quero saber como malloce freetrabalhar. 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); // Obvious Crash, but I need how it works and why crash. cout...

256
Por que malloc + memset é mais lento que calloc?

Sabe-se que callocé diferente do mallocque inicializa a memória alocada. Com calloc, a memória é definida como zero. Com malloc, a memória não é limpa. Assim, no trabalho diário, eu considero calloccomo malloc+ memset. Aliás, por diversão, escrevi o seguinte código para uma referência. O...

113
Qual é a diferença entre vmalloc e kmalloc?

Pesquisei no Google e encontrei muitas pessoas defendendo o uso de kmalloc, já que é garantido que você obterá blocos físicos contíguos de memória. No entanto, também parece que kmallocpode falhar se um bloco físico contíguo que você deseja não puder ser encontrado. Quais são as vantagens de ter...

110
Malloc vs new - padding diferente

Estou revisando o código C ++ de outra pessoa para nosso projeto que usa MPI para computação de alto desempenho (10 ^ 5 - 10 ^ 6 núcleos). O código se destina a permitir a comunicação entre (potencialmente) diferentes máquinas em diferentes arquiteturas. Ele escreveu um comentário que diz algo...

86
Por que obtenho uma falha de declaração C malloc?

Estou implementando um algoritmo polinomial de divisão e conquista para que possa compará-lo com uma implementação do OpenCL, mas não consigo malloctrabalhar. Quando executo o programa, ele aloca um monte de coisas, verifica algumas coisas e envia o size/2para o algoritmo. Então, quando eu...