operadores sizeof e ternários em C
Além dos operadores discutidos acima, existem alguns outros operadores importantes, incluindo sizeof e ? : suportado pela linguagem C.
Operador | Descrição | Exemplo |
---|---|---|
tamanho de() | Retorna o tamanho de uma variável. | sizeof (a), onde a é inteiro, retornará 4. |
E | Retorna o endereço de uma variável. | &uma; retorna o endereço real da variável. |
* | Ponteiro para uma variável. | *uma; |
? : | Expressão condicional. | Se a condição for verdadeira? então valor X: caso contrário, valor Y |
Exemplo
Tente o exemplo a seguir para entender todos os operadores diversos disponíveis em 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 você compila e executa o programa acima, ele produz o seguinte resultado -
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