Resultados da pesquisa a pedido "free"
char grátis *: próximo tamanho inválido (rápido) [duplicado]
Esta pergunta já tem uma resposta aqui: Diante de um erro "*** glibc detectado *** livre (): próximo tamanho inválido (rápido)" [/questions/2317021/facing-an-error-glibc-detected-free-invalid-next-size-fast] 2 respostasEstou liberando um ...
Liberando em um atexit ()
Existe algum ponto em liberar memória em uma função atexit ()? Eu tenho uma variável global que fica mal após a inicialização. Eu poderia escrever uma função atexit () para liberá-la, mas o sistema não recuperará toda essa memória quando o ...
o que acontece quando tentamos liberar memória alocada pelo gerenciador de heap, que aloca mais do que o solicitado?
Esta pergunta foi feita para mim em uma entrevista. Suponha que char * p = malloc (n) atribua mais de n, digamos que N bytes de memória sejam alocados e free (p) seja usado para liberar a memória alocada para p. o gerenciador de heap pode ...
Por que `free` em C não leva o número de bytes a serem liberados?
Só para esclarecer: eu sei quemalloc efree são implementados na biblioteca C, que geralmente aloca pedaços de memória do sistema operacional e faz seu próprio gerenciamento para distribuir lotes menores de memória ao aplicativo e controla o ...
Qual é a diferença entre liberar o ponteiro e atribuí-lo a NULL?
Alguém poderia me dizer a diferença entre: int *p; p=(int*)malloc(10*sizeof(int)); free(p);ou int *p; p=(int*)malloc(10*sizeof(int)); p=NULL;
O compilador pode reciclar variáveis de ponteiro liberadas?
Foi alegado que um compilador é livre para reutilizar a variável ponteiro para algum outro propósito apóso realloc sendo libertado, então você não tem garantia de que ele tenha o mesmo valor que antes ie void *p = malloc(42); uintptr_t address ...
Por que free (p) não define p como NULL?
Quaisquer razões pelas quais esse comportamento não possa ser padrãofree()? vários ponteiros apontando para o mesmo objeto: #include <stdlib.h> #include <stdio.h> void safefree(void*& p) { free(p); p = NULL; } int main() { int *p = (int ...
Se free () sabe o tamanho da minha matriz, por que não posso solicitá-la no meu próprio código?
Eu sei que é uma convenção comum passar o comprimento de matrizes alocadas dinamicamente para funções que as manipulam: void initializeAndFree(int* anArray, size_t length); int main(){ size_t arrayLength = 0; scanf("%d", &arrayLength); int* ...
Por que exatamente não devo chamar free () em variáveis não alocadas por malloc ()?
Eu li em algum lugar que é desastroso usarfree livrar-se de um objeto não criado chamandomalloc, isso é verdade? porque?
livre () na memória da pilha
Estou suportando algum código c no Solaris e vi algo estranho, pelo menos, acho que é: char new_login[64]; ... strcpy(new_login, (char *)login); ... free(new_login); Meu entendimento é que, como a variável é uma matriz local, a memória vem ...