¿Cómo funcionan gratis y malloc en C?
Estoy tratando de averiguar qué sucedería si tratara de liberar un puntero "desde el medio", por ejemplo, mire el siguiente código:
char *ptr = (char*)malloc(10*sizeof(char));
for (char i=0 ; i<10 ; ++i)
{
ptr[i] = i+10;
}
++ptr;
++ptr;
++ptr;
++ptr;
free(ptr);
Me sale un error con un mensaje de error no manejado de excepción. Quiero entender por qué y cómo funciona el trabajo gratuito para que sepa no solo cómo usarlo, sino que también pueda entender errores y excepciones extraños y depurar mejor mi código
Muchas gracias