Objective-C Veri Türleri
Objective-C 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.
Objective-C'deki türler şu şekilde sınıflandırılabilir:
Sr.No. | Türler ve Açıklama |
---|---|
1 | Basic Types − Aritmetik türlerdir ve iki türden oluşurlar: (a) tam sayı türleri ve (b) kayan nokta türleri. |
2 | Enumerated types − Yine aritmetik türlerdir ve program boyunca yalnızca belirli ayrık tam sayı değerlerine atanabilen değişkenleri tanımlamak için kullanılırlar. |
3 | The type void − Tür belirticisi void , 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. Aşağıdaki 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ı ile standart tam sayı türleri hakkında ayrıntılar verir -
Tür | Depolama boyutu | Değer aralığı |
---|---|---|
kömür | 1 bayt | -128 ila 127 veya 0 ila 255 |
imzasız karakter | 1 bayt | 0 ile 255 |
imzalı karakter | 1 bayt | -128 ila 127 |
int | 2 veya 4 bayt | -32.768 ila 32.767 veya -2.147.483.648 ila 2.147.483.647 |
imzasız int | 2 veya 4 bayt | 0 - 65,535 veya 0 - 4,294,967,295 |
kısa | 2 bayt | -32.768 ila 32.767 |
imzasız kısa | 2 bayt | 0 ile 65.535 |
uzun | 4 bayt | -2.147.483.648 ile 2.147.483.647 |
imzasız uzun | 4 bayt | 0 - 4.294.967.295 |
Belirli bir platformda bir türün veya değişkenin tam boyutunu elde etmek için, sizeofŞebeke. Sizeof (type) ifadesi , nesnenin veya türün bayt cinsinden depolama boyutunu verir. Aşağıda, herhangi bir makinede int türünün boyutunu elde etmek için bir örnek verilmiştir -
#import <Foundation/Foundation.h>
int main() {
NSLog(@"Storage size for int : %d \n", sizeof(int));
return 0;
}
Yukarıdaki programı derleyip çalıştırdığınızda, Linux'ta aşağıdaki sonucu verir -
2013-09-07 22:21:39.155 demo[1340] Storage size for int : 4
Kayan Nokta Türleri
Aşağıdaki tablo, depolama boyutları ve değer aralıkları ve bunların hassasiyeti ile standart kayan nokta türleri hakkında ayrıntılı bilgi verir
Tür | Depolama boyutu | Değer aralığı | Hassas |
---|---|---|---|
yüzer | 4 bayt | 1.2E-38 - 3.4E + 38 | 6 ondalık basamak |
çift | 8 bayt | 2.3E-308 ila 1.7E + 308 | 15 ondalık basamak |
uzun çift | 10 bayt | 3.4E-4932 ila 1.1E + 4932 | 19 ondalık basamak |
Float.h başlık dosyası, programlarınızdaki gerçek sayıların ikili gösterimiyle ilgili bu değerleri ve diğer ayrıntıları kullanmanıza izin veren makroları tanımlar. Aşağıdaki örnek, bir kayan nokta türü tarafından alınan depolama alanını ve aralık değerlerini yazdıracaktır -
#import <Foundation/Foundation.h>
int main() {
NSLog(@"Storage size for float : %d \n", sizeof(float));
return 0;
}
Yukarıdaki programı derleyip çalıştırdığınızda, Linux'ta aşağıdaki sonucu verir -
2013-09-07 22:22:21.729 demo[3927] Storage size for float : 4
Boşluk Tipi
Void türü, hiçbir değerin mevcut olmadığını belirtir. Üç tür durumda kullanılır -
Sr.No. | Türler ve Açıklama |
---|---|
1 | Function returns as void
Objective-C'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
Objective-C'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.