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 (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ü (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ü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 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
# 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
Yorumlar
0 Yorum yokHenüz yorum yapılmamış. İlk yorum yapan sen ol.