Typecasting in C allows changing the data type of a variable, regardless of its original definition. When a variable is typecast to a new type, the compiler treats it as the new type. In the example, dividing two integers results in 0, but casting them to floats first results in the actual quotient of 0.625. Typecasting can be implicit, letting smaller types automatically cast to larger ones in expressions, or explicit using cast operators like (int) or (float). Explicit casts have higher priority and force a specific conversion.