Typecasting in C is het proces waarbij het ene gegevenstype naar een ander gegevenstype wordt geconverteerd door de programmeur met behulp van de casting-operator tijdens het ontwerpen van het programma.
Bij typecasting kan het doelgegevenstype kleiner zijn dan het brongegevenstype wanneer het gegevenstype naar een ander gegevenstype wordt geconverteerd. Daarom wordt dit ook wel vernauwingsconversie genoemd.
Syntaxis:
int x; float y; y = (float) x;>
Soorten typegieten in C
In C zijn er twee hoofdtypen om typecasting uit te voeren.

- Impliciete typecasting
- Expliciete typecasting
1. Impliciete typecasting
Impliciete typecasting in C wordt gebruikt om het gegevenstype van een variabele te converteren zonder de werkelijke waarde van de variabele te gebruiken. Het voert de conversies uit zonder de waarden te wijzigen die in de gegevensvariabele zijn opgeslagen. Conversie van een lager gegevenstype naar een hoger gegevenstype vindt automatisch plaats.
Promotie van gehele getallen wordt eerst door de compiler uitgevoerd. Daarna zal het bepalen of twee van de operanden verschillende gegevenstypen hebben. Als u de onderstaande hiërarchie gebruikt, ziet de conversie er als volgt uit als ze allebei verschillende gegevenstypen hebben:
java hallo wereld voorbeeld

2. Expliciete typecasting
Er zijn enkele gevallen waarin het datatype ongewijzigd blijft en onjuiste uitvoer kan opleveren. In dergelijke gevallen kan typecasting helpen om de juiste uitvoer te verkrijgen en de compilatietijd te verkorten. Bij expliciete typecasting moeten we de conversie tussen gegevenstypen forceren. Dit type casting wordt expliciet gedefinieerd binnen het programma.
Programma 1:
C
kern Java-taal
// C program to illustrate the use of> // typecasting> #include> > // Driver Code> int> main()> {> > // Given a & b> > int> a = 15, b = 2;> > float> div> ;> > > // Division of a and b> > div> = a / b;> > > printf> (> 'The result is %f
'> ,> div> );> > > return> 0;> }> |
>
>Uitgang:
The result is 7.000000>
Uitleg: Hier is de daadwerkelijk benodigde output 7,500000 , maar het resultaat is 7.000.000 . Om de juiste uitvoer te krijgen, is er één manier om het gegevenstype van een bepaalde variabele te wijzigen. Maar correcte uitvoer kan ook worden gedaan door typecasting . Dit bestaat uit het plaatsen van een paar haakjes rond de naam van het gegevenstype, zoals deling = (zwevend) a/b .
Java-softwarepatronen
Programma 2:
C
// C program to showcase the use of> // typecasting> #include> > // Driver Code> int> main()> {> > // Given a & b> > int> a = 15, b = 2;> > char> x => 'a'> ;> > > double> div> ;> > > // Explicit Typecasting in double> > div> = (> double> )a / b;> > > // converting x implicitly to a+3 i.e, a+3 = d> > x = x + 3;> > > printf> (> 'The result of Implicit typecasting is %c
'> , x);> > > printf> (> 'The result of Explicit typecasting is %f'> ,> div> );> > > return> 0;> }> |
>
>
xd xd betekenisUitvoer
The result of Implicit typecasting is d The result of Explicit typecasting is 7.500000>
Uitleg: In het bovenstaande C-programma is de uitdrukking (dubbele) converteert variabele a van type int typen dubbele vóór de operatie.
Bij C-programmeren zijn er 5 ingebouwde type casting-functies.
- atof(): Deze functie wordt gebruikt voor het converteren van het string-gegevenstype naar een float-gegevenstype.
- atbol(): Deze functie wordt gebruikt voor het converteren van het stringgegevenstype naar een lang gegevenstype.
- Verstikken(): Deze functie wordt gebruikt om het lange gegevenstype naar het stringgegevenstype te converteren.
- itoba() : Deze functie wordt gebruikt om een int-gegevenstype om te zetten in een string-gegevenstype.
- slepen() : Dit gegevenstype wordt gebruikt om het stringgegevenstype naar een int-gegevenstype te converteren.
Voordelen van typegieten
- Type casting in C-programmering maakt het programma erg licht.
- Typerepresentatie en hiërarchieën zijn enkele functies waarvan we kunnen profiteren met behulp van typecasting.
- Type casting helpt programmeurs het ene gegevenstype naar het andere gegevenstype te converteren.