Diziler: RAM nedir?

Diziler: RAM nedir?

Photo by Possessed Photography / Unsplash

Dizilerin ne olduğuna geçmeden önce, evvela veri yapısı ne demek onu anlamak lazım.

Basit ifadeyle veri yapıları, verileri Random Access Memory (RAM) içinde verimli bir şekilde saklamanın bir yoludur.

Dizi ise sıralı, bitişik eleman gruplarından oluşan bir koleksiyondur (collection). RAM'imizde 5, 7, 11 olmak üzere üç tamsayı saklamak istersek bir dizi kullanabiliriz.

Şimdi asıl soru şu. Eğer bilgisayarlar verileri yalnızca bitler şeklinde, yani 0'lar ve 1'lerden oluşan bir örüntüde saklıyorsa, biz bu başka verileri nasıl saklarız?

Bunun için de öncelikle RAM nedir onu bir anlayalım:

Günümüzde bilgisayarlar gigabyte (cigabayt değil gigabayt diye okunur) boyutunda RAM'e sahiptir. Muhtemelen bu videoyu izlerken kullandığınız bilgisayarda, telefonda ya da tablette muhtemelen en az 8 GB (8x109 byte) RAM vardır.

1 Byte = 8 Bit eder. Bir bitin alabileceği 2 değer vardır. 0 ya da 1.

Şimdi tam sayılarımıza geri dönelim: 5, 7 ve 11. Bunların her biri RAM içerisinde byte şeklinde saklanır ve bitlere dönüştürülür. Tamsayılar bellekte genelde 4 byte'lık (32 bit) yer kaplar.

RAM içerisinde bir tamsayı ile ilişkilendirilen bir adres (address) ve bir değer (value) vardır. Adres, değerlerin her birinin depolandığı farklı bir konumdur. Her değer, tıpkı bir dizi gibi RAM'de bitişik olarak saklanır.

Ekran görüntüsü 2024-06-29 135141.png
💡
Her bir tamsayı 32 bit, yani 4 byte yer kaplar, dolayısıyla adresler 4 byte aralıklıdır.

Tabii istersek karakterleri (char) de bir dizide saklayabiliriz.

Ekran görüntüsü 2024-06-29 135148.png
💡
Her karakter 8 bit, 1 byte yer kaplar, dolayısıyla adresler 1 byte aralıklıdır.

Adres, dizide saklanan değerin türüne uygun olarak artırıldığı sürece, bellekte sakladığınız değerin boyutu veya türünün gerçek bir önemi yoktur.