D Programlama - Veri Tipleri
D programlama dilinde, veri türleri, farklı türlerdeki değişkenleri veya işlevleri bildirmek için kullanılan kapsamlı bir sistemi ifade eder. Bir değişkenin türü, depolamada ne kadar yer kapladığını ve depolanan bit modelinin nasıl yorumlandığını belirler.
D'deki türler şu şekilde sınıflandırılabilir -
Sr.No. | Türler ve Açıklama |
---|---|
1 | Basic Types Aritmetik türlerdir ve üç türden oluşur: (a) tam sayı, (b) kayan nokta ve (c) karakter. |
2 | Enumerated types Yine aritmetik türlerdir. Program boyunca yalnızca belirli ayrık tamsayı değerleri atanabilen değişkenleri tanımlamak için kullanılırlar. |
3 | The type void Tür belirteci void , hiçbir değerin mevcut olmadığını gösterir. |
4 | Derived types Bunlar arasında (a) İşaretçi türleri, (b) Dizi türleri, (c) Yapı türleri, (d) Birleşim türleri ve (e) İşlev türleri bulunur. |
Dizi türleri ve yapı türleri topluca toplu türler olarak adlandırılır. Bir işlevin türü, işlevin döndürdüğü değerin türünü belirtir. Sonraki bölümde temel türleri göreceğiz, diğer bölümlerde ise diğer türler ele alınacaktır.
Tamsayı Türleri
Aşağıdaki tablo, depolama boyutları ve değer aralıklarıyla birlikte standart tam sayı türlerini listeler -
Tür | Depolama boyutu | Değer aralığı |
---|---|---|
bool | 1 bayt | yanlış veya doğru |
bayt | 1 bayt | -128 ila 127 |
ubyte | 1 bayt | 0 ile 255 |
int | 4 bayt | -2.147.483.648 ile 2.147.483.647 |
uint | 4 bayt | 0 - 4.294.967.295 |
kısa | 2 bayt | -32.768 ila 32.767 |
ushort | 2 bayt | 0 ile 65.535 |
uzun | 8 bayt | -9223372036854775808 ile 9223372036854775807 |
ulong | 8 bayt | 0 ile 18446744073709551615 |
Bir türün veya değişkenin tam boyutunu elde etmek için, sizeofŞebeke. İfade türü. (Sizeof) , nesnenin veya türün bayt cinsinden depolama boyutunu verir. Aşağıdaki örnek, herhangi bir makinede int türünün boyutunu alır -
import std.stdio;
int main() {
writeln("Length in bytes: ", ulong.sizeof);
return 0;
}
Yukarıdaki programı derleyip çalıştırdığınızda, aşağıdaki sonucu verir -
Length in bytes: 8
Kayan Nokta Türleri
Aşağıdaki tabloda, depolama boyutları, değer aralıkları ve amaçlarıyla birlikte standart kayan nokta türlerinden bahsedilmektedir -
Tür | Depolama boyutu | Değer aralığı | Amaç |
---|---|---|---|
yüzer | 4 bayt | 1.17549e-38 - 3.40282e + 38 | 6 ondalık basamak |
çift | 8 bayt | 2.22507e-308 - 1.79769e + 308 | 15 ondalık basamak |
gerçek | 10 bayt | 3.3621e-4932 - 1.18973e + 4932 | ya donanımın desteklediği en büyük kayan nokta türü ya da iki katı; hangisi daha büyükse |
Ifloat | 4 bayt | 1.17549e-38i - 3.40282e + 38i | şamandıranın hayali değer türü |
boş | 8 bayt | 2.22507e-308i - 1.79769e + 308i | çiftin hayali değer türü |
ireal | 10 bayt | 3.3621e-4932 - 1.18973e + 4932 | gerçek hayali değer türü |
cfloat | 8 bayt | 1.17549e-38 + 1.17549e-38i - 3.40282e + 38 + 3.40282e + 38i | iki kayan sayıdan oluşan karmaşık sayı türü |
cdouble | 16 bayt | 2.22507e-308 + 2.22507e-308i - 1.79769e + 308 + 1.79769e + 308i | iki çiftten oluşan karmaşık sayı türü |
creal | 20 bayt | 3.3621e-4932 + 3.3621e-4932i - 1.18973e + 4932 + 1.18973e + 4932i | iki gerçekten oluşan karmaşık sayı türü |
Aşağıdaki örnek, bir kayan nokta türü tarafından alınan depolama alanını ve aralık değerlerini yazdırır -
import std.stdio;
int main() {
writeln("Length in bytes: ", float.sizeof);
return 0;
}
Yukarıdaki programı derleyip çalıştırdığınızda, Linux'ta aşağıdaki sonucu verir -
Length in bytes: 4
Karakter Tipleri
Aşağıdaki tablo, depolama boyutları ve amacı ile birlikte standart karakter türlerini listeler.
Tür | Depolama boyutu | Amaç |
---|---|---|
kömür | 1 bayt | UTF-8 kod birimi |
wchar | 2 bayt | UTF-16 kod birimi |
dchar | 4 bayt | UTF-32 kod birimi ve Unicode kod noktası |
Aşağıdaki örnek, bir karakter türü tarafından alınan depolama alanını yazdırır.
import std.stdio;
int main() {
writeln("Length in bytes: ", char.sizeof);
return 0;
}
Yukarıdaki programı derleyip çalıştırdığınızda, aşağıdaki sonucu verir -
Length in bytes: 1
Boşluk Tipi
Void türü, hiçbir değerin mevcut olmadığını belirtir. İki tür durumda kullanılır -
Sr.No. | Türler ve Açıklama |
---|---|
1 | Function returns as void D'de değer döndürmeyen çeşitli işlevler vardır veya void döndürdüklerini söyleyebilirsiniz. Dönüş değeri olmayan bir işlevin dönüş türü geçersizdir. Örneğin,void exit (int status); |
2 | Function arguments as void D'de herhangi bir parametre kabul etmeyen çeşitli fonksiyonlar vardır. Parametresi olmayan bir işlev geçersiz olarak kabul edebilir. Örneğin,int rand(void); |
Boşluk türü bu noktada size anlaşılmayabilir, bu yüzden devam edelim ve bu kavramları ilerleyen bölümlerde ele alacağız.