I would like to understand why this piece of code will not crash :
#include<studio.h>
#include<string.h>
main()
{
    char *a;
    a=(char *)malloc(1);
    strcpy(a, "example");
}
I though we are writing to memory that is not the processes' since we allocate only 1 byte for the char * and we write more than that.
Can somebody please explain?
Thanks in advance.
 
     
     
    