Programlamada Veri Türleri

Programlamada Veri Türleri

Merhabalar. Solidity zincirini oluşturduğum sırada referans türleri başlığıyla karşılaştım. Solidity referans türlerini incelemeden önce programlamada genel bir kısım olan değer ve referans tipindeki verileri ayrı bir yazıda örnekler vererek incelemeye çalıştım. Uzatmadan başlayalım!

Merhabalar. Solidity zincirini oluşturduğum sırada referans türleri başlığıyla karşılaştım. Solidity referans türlerini incelemeden önce programlamada genel bir kısım olan değer ve referans tipindeki verileri ayrı bir yazıda örnekler vererek incelemeye çalıştım. Uzatmadan başlayalım!

Veri Türleri Nedir?

Veri türleri (data types), programlamada bir değişkenin hangi türlerlerdeki verileri tutacağını gösteren sınıflandırmadı. Bir metni tutan string, bir diziyi tutan array, sayıları tutan integer veri türlerine örnektir. Veri türlerinin isimlendirmesi yazılım dillerine göre değişiklik gösterebilir.

Veri türleri, değer ve referans türleri olarak ikiye ayrılır.

Değer Türü Nedir?

Değer türü (value type); bellekte kendine özel bir alanda veriyi tutan, değerleri doğrudan içeren bir veri türüdür.

C# dilindeki değer türlerindeki bazı veri türleri:

  • int
  • byte
  • string
  • char
  • decimal
  • bool
  • double
  • float
  • enum
  • long

Değer türlerine örnek olması açısından Kod1 örneğini inceleyebiliriz.

// -- KOD 1 -- //


// i değişkeni tanımladık. Bellekteki bir adreste yer ayrıldı.
int i;
// tanımladığımız i değişkenini 22'ye eşitledik.
i = 22;


// kopyai değişkeni tanımladık.
int kopyai;
// kopyai'yi i'den kopyaladık. (referans aldık.)
kopyai = i

Referans Türleri Nedir?

Referans türü (reference type); direkt olarak veriyi içermeyen, değer türlerinin depolandıkları adresi referans alan ve dolaylı olarak referans aldığı veriyi etkileyebilen bir veri türüdür. (ayr.bkz. Pointer)

Kod 2 örneğinde C dilindeki bir referans türünü inceyelim.

// -- KOD 2 -- //


// Circle sınıfından cember isminde değişken tanımladık.
Circle cember;
// cember değişkenini 22 değerini verdiğimiz Circle sınıfına eşitledik.
cember = new Circle(22);


// Circle sınıfından refCember isminde değişken tanımladık.
Circle refCember;
// refCember değişkenini oluşturduğumuz cember değişkenine eşitledik. (referans verdik)
refCember= cember


Değer ve Referans Türü Farkları

Değer Türü

  • Değer türündeki değişkenler, bellekte kendine özel bir alanda tutulur.
  • Veriyi tutar.
  • Temel veri tipleri, Enum tipler, Kullanıcı Tanımlı Tipler

Referans Türü

  • Referans türündeki değişkenler, verilerin tutulduğu bellekteki adreslere referans verir.
  • Verilerin adreslerini tutar.
  • Sınıflar, diziler, göstericiler, arayüzler

Değer ve Referans Tipi Farkı Örnek Python Kodu

# sayi 1 isimli değişken tanımladık!
sayi1 = 20;
# sayi2 isimli değişken tanımladık ve sayi1'den türettik.
sayi2 = sayi1;
# sayi2 sayisinin ilk halini yazdırdık ve sayi1 değerini aldık. = 20
print("sayi2 sayısının birinci hali: ", sayi2)
# sayi1'i 10 arttırdık. 
sayi1 = sayi1 + 10;
# sayi2'yi tekrardan yazdırık. Integer türler referans türü olmadığı için 
# sonuç değişmedi. =20
print("sayi2 sayısının değiştirilmiş hali: ", sayi2)


# dizi1 isminde boş bir dizi tanımladık. 
dizi1 = [];
# dizi1'e 1,2,3,4 sayılarını sırasıyla ekledik.
# append işlemiyle ekleme stacke ekleme yaptık. ayr.bkz. Stack
dizi1.append(1);
dizi1.append(2);
dizi1.append(3);
dizi1.append(4);
# dizi1'i yazdırdık!
print("dizi1: ", dizi1); # Sonuç: [1, 2, 3, 4]


# dizi2 isminde bir dizi oluşturduk ve dizi1'e eşitledik.
dizi2 = dizi1;
# yeni oluşturduğumuz dizi2'den son eklenen iki sayıyı çıkardık.
# pop işlemiyle stackten son eklenen iki veriyi attık.
dizi2.pop();
dizi2.pop();
#dizi1'i tekrardan yazdırdık. 
print("dizi1: ", dizi1); # Sonuç: [1, 2]


# Diziler (arrays), referans türünde veri olduğu için yukarıdaki işlem başarıyla gerçekleşt

Bu yazımda programlamanın temellerinden olan veri türlerini C# ve Python dillerinden örnekler vererek açıkladım. Faydası olması dileğiyle. İyi kodlamalar.

Yorumunu Bırak

Çok hızlısın. Biraz dinlendikten sonra tekrar devam edebilirsin.
Bugünlük gönderebileceğin kadar yorum gönderdin. Lütfen yarın tekrar dene.
Mesajınız bize başarılı bir şekilde ulaştırıldı. Teşekkürler.

Yorumlar

0 Yorum yok

Henüz yorum yapılmamış. İlk yorum yapan sen ol.

Blog Yazarı

Ömer Faruk Coşkun
Yazar
@ofcskn

İstanbul Üniversitesi Bilgisayar Mühendisliği Öğrencisi