在Objective-C 編程語言,數(shù)據(jù)類型是指一個廣泛的系統(tǒng),用于不同類型的聲明變量或函數(shù)。多少它占據(jù)的空間存儲和存儲的位模式如何被解釋變量的類型確定。
Objective-C語言中的類型可分類如下:
S.N. | 類型和說明 |
---|---|
1 |
基本類型: 它們是算術類型,包括兩種類型:(一)的整數(shù)類型,及(b)浮點型。 |
2 |
枚舉類型: 也是算術類型,它們被用來定義變量只能被分配在整個程序中的若干離散的整數(shù)值。 |
3 |
void類型: 類型說明符void表示沒有可用的值。 |
4 |
派生類型: 他們包括指針類型,數(shù)組類型,結構類型,聯(lián)合類型及函數(shù)類型。 |
被稱為統(tǒng)稱為聚合類型的數(shù)組類型和結構類型。一個函數(shù)的類型指定函數(shù)的返回值的類型。而其他類型將會在即將到來的章節(jié),我們將在下面的章節(jié)中看到的基本類型。
下表給出了有關標準的整數(shù)類型的存儲大小和值范圍:
類型 | 存儲長度 | 值范圍 |
---|---|---|
char | 1 byte | -128 to 127 or 0 to 255 |
unsigned char | 1 byte | 0 to 255 |
signed char | 1 byte | -128 to 127 |
int | 2 or 4 bytes | -32,768 to 32,767 or -2,147,483,648 to 2,147,483,647 |
unsigned int | 2 or 4 bytes | 0 to 65,535 or 0 to 4,294,967,295 |
short | 2 bytes | -32,768 to 32,767 |
unsigned short | 2 bytes | 0 to 65,535 |
long | 4 bytes | -2,147,483,648 to 2,147,483,647 |
unsigned long | 4 bytes | 0 to 4,294,967,295 |
為了得到確切的大小,類型或變量在特定平臺上,可以使用sizeof運算符。表達式sizeof(類型)產(chǎn)生的對象或類型以字節(jié)為單位的存儲大小。以下是這個例子中的任何一臺機器上的 int類型的大?。?/p>
#import <Foundation/Foundation.h> int main() { NSLog(@"Storage size for int : %d ", sizeof(int)); return 0; }
當編譯并執(zhí)行上述程序,在Linux上產(chǎn)生以下結果:
2013-09-07 22:21:39.155 demo[1340] Storage size for int : 4
下表給出了有關標準的存儲大小和取值范圍和精度的浮點類型的詳細信息:
類型 | 存儲大小 | 取值范圍 | 精確 |
---|---|---|---|
float | 4 byte | 1.2E-38 to 3.4E+38 | 6 decimal places |
double | 8 byte | 2.3E-308 to 1.7E+308 | 15 decimal places |
long double | 10 byte | 3.4E-4932 to 1.1E+4932 | 19 decimal places |
頭文件float.h中定義的宏,允許使用這些值和其他詳細信息在程序中實數(shù)的二進制表示。下面的例子將打印存儲空間所采取的浮點類型,其范圍值:
#import <Foundation/Foundation.h> int main() { NSLog(@"Storage size for float : %d ", sizeof(float)); return 0; }
當編譯并執(zhí)行上述程序,在Linux上產(chǎn)生以下結果:
2013-09-07 22:22:21.729 demo[3927] Storage size for float : 4
void類型指定,沒有可用的值。它被用在三種情況:
S.N. | 類型和說明 |
---|---|
1 |
函數(shù)返回為void Objective-C中有各種不同的函數(shù),對于沒有返回值,或者可以說他們返回void。沒有返回值的函數(shù)的返回類型為void。例如, void exit (int status); |
2 |
函數(shù)參數(shù)為void Objective-C中有各種不同的函數(shù),不接受任何參數(shù)。不帶參數(shù)的函數(shù)可以接受一個void。例如, int rand(void); |
void類型在這一點上可能不很好的理解,讓我們繼續(xù)在接下來的章節(jié)中,我們將介紹這些概念。