Typy danych celu-C
W języku programowania Objective-C typy danych odnoszą się do rozbudowanego systemu używanego do deklarowania zmiennych lub funkcji różnych typów. Typ zmiennej określa, ile miejsca zajmuje ona w pamięci i jak jest interpretowany przechowywany wzór bitowy.
Typy w Celu C można sklasyfikować w następujący sposób -
Sr.No. | Rodzaje i opis |
---|---|
1 | Basic Types − Są to typy arytmetyczne i składają się z dwóch typów: (a) typy całkowite i (b) typy zmiennoprzecinkowe. |
2 | Enumerated types − Ponownie są typami arytmetycznymi i są używane do definiowania zmiennych, którym można przypisać tylko określone dyskretne wartości całkowite w całym programie. |
3 | The type void − Specyfikator typu void wskazuje, że żadna wartość nie jest dostępna. |
4 | Derived types − Obejmują one (a) typy wskaźników, (b) typy tablic, (c) typy struktur, (d) typy unii oraz (e) typy funkcji. |
Typy tablic i typy struktur są nazywane zbiorczo typami zagregowanymi. Typ funkcji określa typ wartości zwracanej przez funkcję. W następnej sekcji zobaczymy podstawowe typy, podczas gdy inne typy zostaną omówione w kolejnych rozdziałach.
Typy całkowite
Poniższa tabela zawiera szczegółowe informacje na temat standardowych typów liczb całkowitych wraz z rozmiarami pamięci i zakresami wartości -
Rodzaj | Rozmiar pamięci | Zakres wartości |
---|---|---|
zwęglać | 1 bajt | -128 do 127 lub 0 do 255 |
unsigned char | 1 bajt | Od 0 do 255 |
podpisany char | 1 bajt | -128 do 127 |
int | 2 lub 4 bajty | Od -32 768 do 32767 lub od -2 147 483 648 do 2 147 483 647 |
unsigned int | 2 lub 4 bajty | 0 do 65 535 lub 0 do 4 294 967 295 |
krótki | 2 bajty | -32 768 do 32767 |
unsigned short | 2 bajty | 0 do 65 535 |
długo | 4 bajty | -2 147 483 648 do 2 147 483 647 |
unsigned long | 4 bajty | Od 0 do 4 294 967 295 |
Aby uzyskać dokładny rozmiar typu lub zmiennej na określonej platformie, możesz użyć rozszerzenia sizeofoperator. Wyrażenie sizeof (type) zwraca rozmiar magazynu obiektu lub typ w bajtach. Poniżej znajduje się przykład, aby uzyskać rozmiar typu int na dowolnym komputerze -
#import <Foundation/Foundation.h>
int main() {
NSLog(@"Storage size for int : %d \n", sizeof(int));
return 0;
}
Kiedy kompilujesz i wykonujesz powyższy program, daje on następujący wynik w systemie Linux -
2013-09-07 22:21:39.155 demo[1340] Storage size for int : 4
Typy zmiennoprzecinkowe
Poniższa tabela zawiera szczegółowe informacje na temat standardowych typów zmiennoprzecinkowych z rozmiarami pamięci i zakresami wartości oraz ich dokładnością -
Rodzaj | Rozmiar pamięci | Zakres wartości | Precyzja |
---|---|---|---|
pływak | 4 bajty | 1,2E-38 do 3,4E + 38 | 6 miejsc po przecinku |
podwójnie | 8 bajtów | 2,3E-308 do 1,7E + 308 | 15 miejsc po przecinku |
długie podwójne | 10 bajtów | 3.4E-4932 do 1.1E + 4932 | 19 miejsc po przecinku |
Plik nagłówkowy float.h definiuje makra, które pozwalają na użycie tych wartości i innych szczegółów dotyczących binarnej reprezentacji liczb rzeczywistych w programach. Poniższy przykład wypisze miejsce zajmowane przez typ zmiennoprzecinkowy i jego wartości zakresu -
#import <Foundation/Foundation.h>
int main() {
NSLog(@"Storage size for float : %d \n", sizeof(float));
return 0;
}
Kiedy kompilujesz i wykonujesz powyższy program, daje on następujący wynik w systemie Linux -
2013-09-07 22:22:21.729 demo[3927] Storage size for float : 4
Typ pustki
Typ void określa, że żadna wartość nie jest dostępna. Jest używany w trzech rodzajach sytuacji -
Sr.No. | Rodzaje i opis |
---|---|
1 | Function returns as void Istnieją różne funkcje w Objective-C, które nie zwracają wartości lub można powiedzieć, że zwracają void. Funkcja bez zwracanej wartości ma zwracany typ void. Na przykład,void exit (int status); |
2 | Function arguments as void Istnieją różne funkcje w Objective-C, które nie akceptują żadnego parametru. Funkcja bez parametru może zostać uznana za nieważną. Na przykład,int rand(void); |
Typ pustki może nie być dla Ciebie w tym momencie zrozumiały, więc przejdźmy dalej i omówimy te koncepcje w kolejnych rozdziałach.