sizeof e operatori ternari in Objective-C

Ci sono pochi altri operatori importanti tra cui sizeof e ? : supportato da Objective-C Language.

Operatore Descrizione Esempio
taglia di() Restituisce la dimensione di una variabile. sizeof (a), dove a è intero, restituirà 4.
& Restituisce l'indirizzo di una variabile. &un; fornirà l'indirizzo effettivo della variabile.
* Puntatore a una variabile. *un; punterà a una variabile.
? : Espressione condizionale Se la condizione è vera? Quindi valore X: altrimenti valore Y

Esempio

Prova il seguente esempio per comprendere tutti gli operatori vari disponibili nel linguaggio di programmazione Objective-C:

#import <Foundation/Foundation.h>

int main() {
   int a = 4;
   short b;
   double c;
   int* ptr;

   /* example of sizeof operator */
   NSLog(@"Line 1 - Size of variable a = %d\n", sizeof(a) );
   NSLog(@"Line 2 - Size of variable b = %d\n", sizeof(b) );
   NSLog(@"Line 3 - Size of variable c= %d\n", sizeof(c) );

   /* example of & and * operators */
   ptr = &a;	/* 'ptr' now contains the address of 'a'*/
   NSLog(@"value of a is  %d\n", a);
   NSLog(@"*ptr is %d.\n", *ptr);

   /* example of ternary operator */
   a = 10;
   b = (a == 1) ? 20: 30;
   NSLog(@"Value of b is %d\n", b );

   b = (a == 10) ? 20: 30;
   NSLog(@"Value of b is %d\n", b );
}

Quando compili ed esegui il programma sopra, produce il seguente risultato:

2013-09-07 22:46:22.702 demo[24593] Line 1 - Size of variable a = 4
2013-09-07 22:46:22.703 demo[24593] Line 2 - Size of variable b = 2
2013-09-07 22:46:22.703 demo[24593] Line 3 - Size of variable c= 8
2013-09-07 22:46:22.703 demo[24593] value of a is  4
2013-09-07 22:46:22.703 demo[24593] *ptr is 4.
2013-09-07 22:46:22.703 demo[24593] Value of b is 30
2013-09-07 22:46:22.703 demo[24593] Value of b is 20