Bilgisayar biliminde boş işaretçi, sıfır referansı veya boş gösterge, geçerli bir nesne adresini göstermeyen işaretçi ya da dolaylamaya verilen genel isimdir. Bir başka değişle, değeri sıfır olan işaretçidir; yani bilgisayarın belleğinde geçerli olan bir adresi işaret etmemektedir. Bilgisayar programlarında, uzunluğu bilinmeyen bir listenin sonu veya bazı eylemlerin gerçekleştirilememesi gibi koşulları göstermek için rutin olarak boş işaretçiler kullanır; boş işaretçilerinin bu kullanımı, sıfırlanabilir tip veya opsiyonel bir veri tipi gibi düşünülebilir. Boş bir işaretçi, değeri belirtilmemiş bir işaretçi ile karıştırılmamalıdır: Boş bir işaretçi, geçerli bir nesneyi işaret eden herhangi bir işaretçiden kesinlikle farklıdır. Öte yandan, programlama diline ve uygulamaya bağlı olarak, değeri belirtilmemiş bir işaretçi için aynı şeyi söylemek mümkün değildir. Bu nedenden dolayı, bir takım durumlarda değeri belirtilmemiş işaretçiler diğer geçerli işaretçilerle eşit olabilir; veya boş işaretçilerle eşit olabilir. Her iki durum da farklı zamanlarda gerçekleşebilir. Veya karşılaştırma tanımsız sonuç verebilir. == C == C'de, her türden iki boş göstergenin eşit karşılaştırılması garanti edilir.ISO/IEC 9899, clause 6.3.2.3, paragraph 4. Önişlemci makro `NULL`, bir uygulama tarafından tanımlanan boş gösterici sabiti olarak tanımlanır.ISO/IEC 9899, clause 7.17, paragraph 3: NULL... which expands to an implementation- defined null pointer constant... C standardı, boş göstergenin bellek adresi işaretçisiyle aynı olduğunu söylemez Ancak, pratikte durum bu olabilir. Bir boş gösterici deşifre etmek, C ISO/IEC 9899, clause 6.5.3.2, paragraph 4. için tanımsız bir davranıştır. Pratikte, bir boş göstergenin adresine erişmeye çalışmak ya da eşlenmemiş bellekten okuma veya yazma girişiminde bulunmak bir segmentasyon hatası veya bellek erişim ihlali tetikleyebilir. Bunu yapmak, programın çökmesine veya program kodu tarafından yakalanabilecek bir yazılım istisnasına dönüştürülebilir. Ancak, durumun böyle olmadığı bazı durumlar vardır. Örneğin, x86 gerçek modunda, `0000:0000` adresi okunabilir ve genellikle yazılabilirdir ve bu adrese bir işaretçinin kaydının kaldırılması, uygulamada tanımlanmamış ancak kilitlenmeyen davranışlara yol açabilecek mükemmel derecede geçerli ancak genellikle istenmeyen bir eylemdir. C dilinde dinamik olarak bellek ataması (yaratma) yapmak için kullanılan metotlar da (calloc ve malloc gibi) kullanıldıkları zaman şayet başarılı bir şekilde boş bir bellek bölgesi yaratamazlarsa boş işaretçi return ederler. == C ++ == C++ 'da, `NULL` makrosu C'den devralınırken, sıfır için bir tam sayı değişmez değeri geleneksel olarak bir boş işaretçi sabitini temsil etmek için kullanılmaktadır. Ancak, C++ 11 bunun yerine, açık boş işaretçi`nullptr` sabitini yazılımcıların kullanabilmesi için yaratmıştır. == Tarih == 2009'da Tony Hoare (CAR Hoare) , 1965 yılında ALGOL W dilinin bir parçası olarak sıfır referansını icat ettiğini belirtti. 2009 yılında, Hoare boş işaretçi buluşunun "milyar dolarlık bir hata" olarak tanımlamıştır. == Kaynakça == Kategori:Veri tipleri Kategori:KB1 bakım: Birden fazla ad: yazar listesi