Özgür sonra BOŞ değişken
Benim şirket, herhangi bir bellek boşaltma sonra, NULL değişkeni Sıfırla diyor bu kodlama bir kural yoktur. Örnek ...
void some_func ()
{
int *nPtr;
nPtr = malloc (100);
free (nPtr);
nPtr = NULL;
return;
}
Kod yukarıda gösterildiği gibi durumlarda, BOŞ ayarı için hiç bir anlam ifade etmiyor. ben böyle düşünüyorum. Ya da ben bir şey eksik?
Eğer bu gibi durumlarda anlam ise orada hayır, "kalite" bu kodlama kuralı. kaldırmak için takım almaya gidiyorum Tavsiye lütfen.
CEVAP
Kullanılmayan işaretçiler NULL ayar bir defans stili, sarkan işaretçi böceklere karşı koruyor. Eğer sarkan bir işaretçi serbest kaldığında erişilen, ya da rastgele bellek okuma üzerine yazabilir. Eğer bir null işaretçi erişim sağlanırsa, hatanın ne olduğunu çoğu sistemde ani bir kaza, hemen söylüyorum.
Yerel değişkenler olabilir biraz anlamsız olur "bariz" işaretçi değil mi erişilen artık sonra serbest, bu yüzden bu tarz daha uygun İçin Üye verileri ve global değişkenler. Hatta yerel değişkenler için, eğer işlevi bellek serbest bırakılır sonra da devam ederse iyi bir yaklaşım olabilir.
Stili tamamlamak için, aynı zamanda doğru işaretçiler işaretçi bir değer atanmadan önce BOŞ başlatılamıyor.
Değişken uzunlukta konumsal tartıştıkt...
C neden yazdıktan sonra değişken adınd...
Neden benim değişken sonra tam ben bir...
Açısal HttpPromise: arasında `başarı`/...
Değişken ilanından sonra goto Etiket...