İşaretçiler dizisi, tamsayılar veya kayan nokta sayıları gibi diğer skalar tiplerini tutmanın aksine, veri tiplerine yönelik bir bellek dizisini tutan standart bir dizi veri türüdür. Bir işaretçi dizisi kullanarak, bir program neredeyse her tür veri tipine, veri yapısına, sınıf veya hatta fonksiyona sahip olabilir. Bir dizi işaretleyicinin verimli şekilde sıralanması da mümkündür, böylece istenirse, adresler bilgisayar hafızasındaki fiziksel konumlarına göre hizalanabilir. Bir dizi işaretçi kullanmanın getirdiği komplikasyonlardan bazıları verilerin kolayca bozulabileceği ve bellek taşması sorunlarını önlemek için işaret edilen veri türünün dahili olarak yönetilmesi gerektiğidir.
Tüm programlama dilleri, konsept ilk olarak tasarlandığı için bir dizi göstergeye izin vermez. Bellek yönetimini otomatikleştiren yüksek seviyeli diller, düşük seviyeli dillerle aynı şekilde işaretçi kullanmaz, teknik olarak yüksek düzeyde bir nesne sınıfı dizisi, nesne yönelimli dil bir işaretçi dizisidir; Yine de, aynı şekilde kullanılamaz veya manipüle edilemez. Düşük seviyeli bir dilde, dizi, gerçekte, bellek yığınındaki işaretçinin doğrudan adresi olan bir tamsayı değerini tutar. Çoğu yüksek seviye dilde, alternatif paradigmalar mevcut olmasına rağmen, bu işlevsellik mümkün değildir.
Bir dizi işaretleyiciyi bir programlama aracı olarak değerli kılan özelliklerden biri, işaretçilerin mevcut her tür veriye başvurabilmesidir. İşaretçi, kendi başına bir veri türüdür; tek amacı başka bir veri tipine işaret etmektir. Bu, bir işaretçi dizisinin aslında aynı dizide çeşitli veri türlerini içerebileceği anlamına gelir, ancak programın her işaretçinin neyi referans gösterdiğini takip etmek için bir mekanizmaya sahip olması gerekir.
İşaretçilerin güçlü yönü, derlenmiş program kodunu bellekte gösterebilmeleridir. Bu, bir dizinin sadece verileri değil, fonksiyonları göstermesini sağlar. Bir fonksiyon dizisi, kodun dinamik sayısal referansını verebilir. Bu, bir dil tercümanı ya da anahtar blokları gibi büyük koşullu ifadelere ihtiyaç duyulmaksızın, öngörülemeyen girdilere dayanan belirli fonksiyonları çağırması gereken başka bir yazılım türünü programlarken faydalı olabilir.
Bir işaretçi verileri dizisi tarafından sunulan bazı problemler, adresin kaybedilmesi, belleğin daha sonra serbest bırakılmasını önleme olasılığı ve bir adresin ilave etme gibi istenmeyen bir işlemle bozulma olasılığıdır. Yanlış bir adrese erişmeye çalışmak, bozuk verilerin okunmasına ya da başarısız bir başlatma gibi zor durumlarda, programın beklenmedik şekilde sonlandırılmasına neden olabilecek bir bölümleme hatasıyla sonuçlanabilir. Dikkatli programlama, bu olayların olasılığını azaltmaya yardımcı olabilir.


