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.