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