Diziler programlama dillerinde belki de bugüne kadar en çok kullanılan değişken türlerinin başında gelmektedir. Günümüzde listelere geçiş yapılsa da, dizi kullanımını bilmek bir yazılımcı için çok önemlidir.

Diziler esasında primitive (ilkel) veri yapılarını sıralı şekilde tutan veri tipleridir. Esasında bu cümlem yeterli değil, aslında Diziler primitif veri yapılarından da öte, her türlü bilgiyi tutabilirler. Şimdi sıralı olarak veri tutmakla ne kast ettiğimizi belirtmemiz gerekir.

Programlama yaparken bir değişken oluşturduğumuzda Ram adı verdiğimiz bir bellek üzerinde adreslenir. Boyutuna göre bir alan ayrılır. Örneğin 1 Byte’lık bir değişken oluşturduğunuzda bir adresteki yalnızca 1 byte ayrılırken, integer veri tuttuğumuzda 4 byte’lık alan bu değişkenimize tahsis edilir. Belleğin bir adresi olur. Program çalışırken ilgili adrese gider ve değişken kaç byte’lıksa o kadar byte’ı sıralı olarak okur. Diziler ise bu bahsettiğimiz değişkenlerden bir ya da birden fazlasını içerisinde taşıyan yapılardır.

Diziler türlerine göre veri tutarlar. Unutmayın, Python’da ya da C# gibi dillerdeki Liste veri yapısı ile dizi veri yapısı karıştırılmamalıdır. Dizi (Array) veri yapısı özel bir veri yapısıdır ve türü belirtilmelidir. Bir dizi veri yapısı, integer, byte ya da kullanıcının belirleyecebileceği bir veri türünde olabilmektedir.

Dizi oluşturmanın dinamikleri hemen hemen her programlama dilinde aynıdır.

*Veri Tipi* *dizi_Adi* [Alabileceği Eleman Sayısı] ==> int dizim[10]

Yukarıda oluşturmuş olduğum dizim isimli integer türündeki dizimiz toplamda 10 eleman alabilmektedir. 11. Elemanı alamazlar.

Dizi elemanlarına erişim indis adını verdiğimiz (index) sayılarla gerçekleşir. İndisler 0’dan başlar, dizi boyutunun bir eksiğine kadar devam eder. Yani ilk eleman dizim[0]’da iken, son eleman dizim[9]’da yer alır.

Bir dizi oluşturulduğu zaman programlama dili bunların tüm indislerine varsayılan bir değer atar. Bizler bu indisleri istediğimiz gibi doldurabiliriz.

Diziler statik yani sabit veri yapılarıdır. Yani çalışma zamanında (runtime) büyüklükleri değiştirilemez. Bu yüzden dezavantajlı oldukları bir konu olduğu söylenebilir.

Yukarıdaki örnekte de görebileceğiz üzere int Dizi[8] yazdığımız zaman ram’de 8 adet integer değer alabilecek bir alan ayrılır. Programın çalışma zamanı boyunca bu alan Dizi değişkeninin kullanımına sunulmaktadır. Bu alan artırılamaz ya da azalamaz. Örneğin 8 boyutlu bir integer dizisi için toplamda 32 byte (8×4) alan ayrılır. Diziye eleman ekleseniz de çıkarsanız da dizinin boyutu değişmez.. Yani dizilere eleman eklemek ya da çıkarmak bize alan açısından alan artırmak ya da azaltmak gibi bir durum oluşturmaz. Eğer bu tip kaygılarınız varsa dinamik programlama tam size göre. Ancak diziler hiç de küçümsenmeyecek derecede yoğun bir şekilde kullanılan bir değişken türüdür.