C · Intermediário · Inglês · Técnico
cast
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.5Exemplos
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