SORU
22 HAZİRAN 2009, PAZARTESİ


Ö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
22 HAZİRAN 2009, PAZARTESİ


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CHISTOSITOJAJA

    CHISTOSITOJA

    27 HAZİRAN 2010
  • STITCHLESS TV how to sew your own style tutorials

    STITCHLESS T

    9 HAZİRAN 2011
  • YEAH1TV

    YEAH1TV

    19 ŞUBAT 2009