ExpertiDict

C · Intermediário · Inglês · Técnico

cast

/kæst/substantivo

Conversão explícita de um valor para outro tipo, escrita com o tipo entre parênteses antes da expressão. Diz ao compilador para tratar o valor como outro tipo, sem checar se faz sentido.

Onde usar

Aparece em conversões numéricas, como (double)a / b, e em ponteiros, como (unsigned char *)p. Casts demais sinalizam desenho ruim ou risco de comportamento indefinido.

Em código

int a = 7, b = 2;
double r = (double)a / b;
printf("%.1f\n", r); // 3.5

Exemplos

You need a cast here, otherwise it's integer division.

Você precisa de um cast aqui, senão é divisão inteira.

Too many casts usually means the types are wrong.

Casts demais normalmente significam que os tipos estão errados.

Cuidado

Fazer cast do retorno de malloc em C: é desnecessário e, em compiladores antigos, escondia a falta de #include <stdlib.h>.

Sinônimos

conversão explícita

Antônimos

conversão implícita

Veja também

Todos os termos de C