Resultados de la búsqueda a petición "free"

1 la respuesta

char gratis *: siguiente tamaño no válido (rápido) [duplicado]

Esta pregunta ya tiene una respuesta aquí: Frente a un error "*** glibc detectado *** libre (): siguiente tamaño no válido (rápido)" [/questions/2317021/facing-an-error-glibc-detected-free-invalid-next-size-fast] 2 respuestasEstoy liberando un ...

8 la respuesta

Liberando en un atexit ()

¿Tiene algún sentido liberar memoria en una función atexit ()? Tengo una variable global que se malloca después del inicio. Podría escribir una función atexit () para liberarla, pero ¿no va a recuperar el sistema toda esa memoria cuando el ...

5 la respuesta

¿Qué sucede cuando se intenta liberar memoria asignada por el administrador de almacenamiento dinámico, que asigna más de lo solicitado?

Esta pregunta me fue hecha en una entrevista. Suponga que char * p = malloc (n) asigna más de n, digamos que se asignan N bytes de memoria y free (p) se usa para liberar la memoria asignada a p. ¿puede el administrador de montón realizar una ...

5 la respuesta

¿Por qué `free` en C no toma la cantidad de bytes a liberar?

Para que quede claro: sé quemalloc yfree se implementan en la biblioteca C, que generalmente asigna fragmentos de memoria del sistema operativo y realiza su propia administración para distribuir lotes más pequeños de memoria a la aplicación y ...

8 la respuesta

¿Cuál es la diferencia entre liberar el puntero y asignarlo a NULL?

¿Podría alguien decirme la diferencia entre: int *p; p=(int*)malloc(10*sizeof(int)); free(p);o int *p; p=(int*)malloc(10*sizeof(int)); p=NULL;

9 la respuesta

Si free () conoce la longitud de mi matriz, ¿por qué no puedo solicitarla en mi propio código?

Sé que es una convención común pasar la longitud de las matrices asignadas dinámicamente a las funciones que las manipulan: void initializeAndFree(int* anArray, size_t length); int main(){ size_t arrayLength = 0; scanf("%d", &arrayLength); int* ...

9 la respuesta

¿Por qué free (p) no establece p en NULL?

Cualquier razón por la cual esto no puede ser un comportamiento estándar defree()? múltiples punteros apuntando al mismo objeto: #include <stdlib.h> #include <stdio.h> void safefree(void*& p) { free(p); p = NULL; } int main() { int *p = (int ...

7 la respuesta

¿Por qué exactamente no debería llamar a free () en variables no asignadas por malloc ()?

Leí en alguna parte que es desastroso usarfree para deshacerse de un objeto no creado llamandomalloc, ¿Es esto cierto? ¿por qué?

0 la respuesta

free () en memoria de pila

Estoy admitiendo algún código c en Solaris, y he visto algo extraño, al menos creo que es: char new_login[64]; ... strcpy(new_login, (char *)login); ... free(new_login); Tengo entendido que, dado que la variable es una matriz local, la ...

2 la respuesta

¿Cuándo usar una matriz de longitud variable en C, pero cuándo una asignación dinámica?

Descubrí la matriz de longitud variable en C99, pero parece que se comporta casi igual que malloc + free. Las diferencias prácticas que encontré: Manejo de matriz demasiado grande: unsigned size = 4000000000; int* ptr = malloc(size); // ptr is ...