Kemungkinan Duplikat:
Mengatur variabel ke NULL setelah gratis
Saya belajar tentang praktik pemrograman C yang baik dan teman saya mengatakan kepada saya untuk selalu mengatur pointer ke NULL setelah membebaskannya (atau memanggil fungsi pembebasan tertentu).
Misalnya:
char* ptr = malloc(100);
...
free(ptr);
ptr = NULL;
or
struct graph* graph = create_graph();
...
destroy_graph(graph);
graph = NULL;
Mengapa ini merupakan praktik yang baik?
Pembaruan: Setelah membaca jawabannya, menurut saya ini merupakan praktik yang buruk! Saya menyembunyikan kemungkinan kesalahan double-free(). Bagaimana ini bisa menjadi praktik yang baik? Aku kaget.
Terima kasih, Boda Cydo.
NULL
. - person jamesdlin   schedule 29.07.2010(void*)0xdeadbeef
dalam mode debug sehingga Anda dapat mendeteksi penggunaan yang salah. - person Den-Jason   schedule 02.10.2019