Título: C: liberar memoria: pointer being freed was not allocated Publicado por: andie13 en 2 Enero 2018, 00:13 am Hola,
me da este error: error for object 0x7ff75ac027d8: pointer being freed was not allocated * set a breakpoint in malloc_error_break to debug El caso es que yo creo que es por culpa de esta matriz para la que reservo memoria: Código
pero hago un Código y no se por qué me sigue dando ese error. Solo me da el error en mi Mac, pero si lo ejecuto en ubuntu no. Gracias! Título: Re: C: liberar memoria: pointer being freed was not allocated Publicado por: MAFUS en 2 Enero 2018, 01:21 am Cuando asignes memoria comprueba siempre que se ha logrado porque podría ser que mallo falle y free no encuentre tal asignación.
También puede ser que durante el transcurso del programa hayas reasignado matriz a otra cosa. De todas formas, no lo sé pues no he visto el código completo, antes de liberar matriz debes liberar el resto de elementos que lo componen. Sigo: En el segundo mallo, en que asignas memoria para los elementos de matriz, cuando das el tamaño del sizeof debe ser un int, no un int * Además en C, a diferencia de C++, no necesitas hacer el casting al dato devuelto por malloc, C ya lo infiere del contexto. |