sizeof e operatori ternari in C

Oltre agli operatori discussi sopra, ci sono alcuni altri importanti operatori tra cui sizeof e ? : supportato dal linguaggio C.

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; restituisce l'indirizzo effettivo della variabile.
* Puntatore a una variabile. *un;
? : Espressione condizionale. Se la condizione è vera? quindi valore X: altrimenti valore Y

Esempio

Prova a seguire l'esempio per comprendere tutti gli operatori vari disponibili in C -

#include <stdio.h>

main() {

   int a = 4;
   short b;
   double c;
   int* ptr;

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

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

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

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

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

Line 1 - Size of variable a = 4
Line 2 - Size of variable b = 2
Line 3 - Size of variable c= 8
value of a is  4
*ptr is 4.
Value of b is 30
Value of b is 20