Types de données Objective-C

Dans le langage de programmation Objective-C, les types de données font référence à un système étendu utilisé pour déclarer des variables ou des fonctions de différents types. Le type d'une variable détermine l'espace qu'elle occupe dans le stockage et la manière dont le modèle de bits stocké est interprété.

Les types d'Objective-C peuvent être classés comme suit -

N ° Sr. Types et description
1

Basic Types −

Ce sont des types arithmétiques et se composent des deux types: (a) types entiers et (b) types à virgule flottante.

2

Enumerated types −

Ce sont à nouveau des types arithmétiques et ils sont utilisés pour définir des variables qui ne peuvent se voir attribuer que certaines valeurs entières discrètes dans tout le programme.

3

The type void −

Le spécificateur de type void indique qu'aucune valeur n'est disponible.

4

Derived types −

Ils comprennent (a) les types de pointeurs, (b) les types de tableaux, (c) les types de structure, (d) les types d'union et (e) les types de fonctions.

Les types de tableau et les types de structure sont appelés collectivement les types d'agrégat. Le type d'une fonction spécifie le type de la valeur de retour de la fonction. Nous verrons les types de base dans la section suivante alors que d'autres types seront traités dans les chapitres à venir.

Types entiers

Le tableau suivant vous donne des détails sur les types d'entiers standard avec ses tailles de stockage et ses plages de valeurs -

Type Taille de stockage Plage de valeurs
carboniser 1 octet -128 à 127 ou 0 à 255
caractère non signé 1 octet 0 à 255
char signé 1 octet -128 à 127
int 2 ou 4 octets -32.768 à 32.767 ou -2.147.483.648 à 2.147.483.647
entier non signé 2 ou 4 octets 0 à 65535 ou 0 à 4 294 967 295
court 2 octets -32 768 à 32 767
court non signé 2 octets 0 à 65 535
longue 4 octets -2 147 483 648 à 2 147 483 647
non signé longtemps 4 octets 0 à 4 294 967 295

Pour obtenir la taille exacte d'un type ou d'une variable sur une plateforme particulière, vous pouvez utiliser le sizeofopérateur. L'expression sizeof (type) donne la taille de stockage de l'objet ou du type en octets. Voici un exemple pour obtenir la taille du type int sur n'importe quelle machine -

#import <Foundation/Foundation.h>

int main() {
   NSLog(@"Storage size for int : %d \n", sizeof(int));
   return 0;
}

Lorsque vous compilez et exécutez le programme ci-dessus, il produit le résultat suivant sous Linux -

2013-09-07 22:21:39.155 demo[1340] Storage size for int : 4

Types à virgule flottante

Le tableau suivant vous donne des détails sur les types à virgule flottante standard avec les tailles de stockage et les plages de valeurs et leur précision

Type Taille de stockage Plage de valeurs Précision
flotte 4 octets 1,2E-38 à 3,4E + 38 6 décimales
double 8 octets 2,3E-308 à 1,7E + 308 15 décimales
long double 10 octets 3.4E-4932 à 1.1E + 4932 19 décimales

Le fichier d'en-tête float.h définit des macros qui vous permettent d'utiliser ces valeurs et d'autres détails sur la représentation binaire des nombres réels dans vos programmes. L'exemple suivant affichera l'espace de stockage pris par un type float et ses valeurs de plage -

#import <Foundation/Foundation.h>

int main() {
   NSLog(@"Storage size for float : %d \n", sizeof(float));
   return 0;
}

Lorsque vous compilez et exécutez le programme ci-dessus, il produit le résultat suivant sous Linux -

2013-09-07 22:22:21.729 demo[3927] Storage size for float : 4

Le type de vide

Le type void spécifie qu'aucune valeur n'est disponible. Il est utilisé dans trois types de situations -

N ° Sr. Types et description
1 Function returns as void

Il existe diverses fonctions dans Objective-C qui ne retournent pas de valeur ou vous pouvez dire qu'elles retournent void. Une fonction sans valeur de retour a le type de retour comme void. Par exemple,void exit (int status);

2 Function arguments as void

Il existe différentes fonctions dans Objective-C qui n'acceptent aucun paramètre. Une fonction sans paramètre peut accepter comme un vide. Par exemple,int rand(void);

Le type vide peut ne pas vous être compris à ce stade, alors continuons et nous couvrirons ces concepts dans les prochains chapitres.