Sau khi bạn giải phóng vùng nhờ bằng toán tử delete thì vùng nhớ do con trỏ p trỏ tới đã được thu hồi, nhưng con trỏ p thì vẫn trỏ tới vùng nhớ đó. Do đó người ta nên gán p=NULL sau khi hủy cấp phát để sau này có thể kiểm tra được là vùng nhớ do p trỏ tới đã được cấp phát hay chưa.
C++ Code:
char *p=new char[1000]; delete []p; p=NULL; if (p==NULL) { printf("pointer p points to unallocated memory!\n"); } else { printf("pointer p pointts to allocated memory, now you can do anything with the memory is pointed by p\n"); }