I have read that the name to object binding can have a longer lifetime than the object itself. According to my understanding, when the object is destroyed, then the binding between the name and the object is also gone. Then how can binding lifetime can be longer than object lifetime? Please explain using this example code in in C
char *p = malloc(4);
strcpy(p, "abc");
free(p); // object gone, but binding of p, to a useless address, lives on.