Type Casting in C Language

Type casting is een manier om een variabele van het ene gegevenstype om te zetten in een ander gegevenstype. Bijvoorbeeld, als u een lange waarde wilt opslaan in een eenvoudig geheel getal, dan kunt u typecast long naar int. Je kunt waarden expliciet omzetten van het ene type naar het andere met behulp van de cast operator. Er zijn twee types van type casting in c taal: Impliciete conversies en Expliciete Conversies. In dit artikel leren we ook over het verschil tussen type casting en type conversions.

Nieuwe data type moet worden vermeld vóór de variabele naam of waarde tussen haakjes die moeten worden typecast.

C type casting voorbeeld programma:

In het onderstaande C programma, 7/5 alleen zal integer waarde als 1.
Dus, type cast wordt gedaan vóór deling om float waarde (1,4) te behouden.

1 #include <stdio.h>
2 int main ()
3 {
4 float x;
5 x = (float) 7/5;
6 printf(“%f”,x);
7 }

Output:
1.400000

Het omzetten van een uitdrukking van een bepaald type in een ander type staat bekend als type casting. typecasting wordt meer gebruikt in c taal programmering.

Hier, is het de beste praktijk om lagere datatype te converteren naar hogere datatype om verlies van gegevens te voorkomen.

Gegevens zullen worden afgekapt wanneer het hogere datatype wordt geconverteerd naar lager. Bijvoorbeeld, als een float wordt geconverteerd naar int, gegevens die aanwezig zijn na de decimale punt zal verloren gaan.

Er zijn twee soorten type casting in c taal.

Types van typecasting in C

S.No Types of type casting in C Programming
1 Implicit Conversion
2 Expliciete conversie

Impliciete conversie

Impliciete conversies vereisen geen operator voor conversie. Ze worden automatisch uitgevoerd wanneer een waarde wordt gekopieerd naar een compatibel type in het programma.

Hier is de waarde van a gepromoveerd van int naar double en we hebben geen type-casting operator hoeven te specificeren. Dit staat bekend als een standaard conversie.

Voorbeeld :-

1 #include<stdio.h>
2 #include<conio.h>
3 void main()
4 {
5 int i=20;
6 dubbel p;
7 clrscr();
8
9 p=i; // impliciete conversie
10
11 printf(“impliciete waarde is %d”,p);
12
13 getch();
14 }

Output:-
impliciete waarde is 20.

Expliciete conversie

In de taal C vereisen vele conversies, vooral die welke een andere interpretatie van de waarde impliceren, een expliciete conversie. We hebben al twee notaties voor expliciete type-conversie gezien.

Ze worden niet automatisch uitgevoerd wanneer een waarde in het programma wordt gekopieerd naar een compatibel type.

Voorbeeld :-

1 #include<stdio.h>
2 #include<conio.h>
3 void main()
4 {
5 int i=20;
6 short p;
7 clrscr();
8
9 p = (short) i; // Expliciete omzetting
10
11 printf(“Expliciete waarde is %d”,p);
12
13 getch();
14 }

Output:-
Expliciete waarde is 20.

Uitdrukkelijke rekenkundige conversie

De gebruikelijke rekenkundige conversies worden impliciet uitgevoerd om hun waarden in een gemeenschappelijk type te gieten, C hanteert de regel dat in alle expressies, behalve toewijzingen, alle impliciete typeconversies van een kleiner naar een groter type worden uitgevoerd, zoals hieronder is weergegeven:

Type Casting In C Language

Inbuilt Typecast Functions In C:

Er zijn veel ingebouwde type casting-functies beschikbaar in de C-taal waarmee datatypeconversies van het ene type naar het andere worden uitgevoerd.

S.No Typecast Functie Omschrijving
1 atof() Converteer string naar Float
2 atoi() String omzetten naar int
3 atol() String omzetten naar lang
4 itoa() Int omzetten van int naar string
5 ltoa() Verzetten van long to string

We houden sinds kort een enquête onder verschillende programmeurs die te vinden zijn op google plus social media. We hebben een enquête voor type casting in c language.

Verschil tussen type casting en type conversie

Wanneer er behoefte is om een datatype te converteren naar een ander de twee termen komt in onze gedachten “typecasting” en “type conversie”. Wanneer de twee types compatibel zijn met elkaar, dan wordt de conversie van het ene type naar het andere automatisch gedaan door de compiler, dat is koude type conversie, maar herinnert men zich dat we een groot gegevenstype kunnen opslaan in het andere, bijvoorbeeld kunnen we een float niet opslaan in int, omdat een float groter is dan int. terwijl, typecasting moet expliciet worden gedaan door de programmeur.

BASIS VOOR VERGELIJKING TYPE CASTING TYPE CONVERSION
Definitie Wanneer een gebruiker een gegevenstype in een ander gegevenstype kan omzetten, wordt dit typecasting genoemd. Type Conversion is datgene waarmee het ene gegevenstype automatisch in een ander wordt omgezet.
Geïmplementeerd Geïmplementeerd op twee ‘incompatibele’ gegevenstypen. Geïmplementeerd alleen wanneer twee gegevenstypen ‘compatibel’ zijn.
Operator Voor het casten van een gegevenstype naar een ander is een casting-operator ‘()’ vereist. Geen operator vereist.
Geïmplementeerd Het wordt gedaan tijdens het ontwerpen van programma’s. Het wordt expliciet gedaan tijdens het compileren.
Conversietype Nauwkeurige conversie. Verbredende conversie.
Voorbeeld int x;
byte y;


y= (byte) x;
int x=3;
float y;
y=a; // waarde in y=3.000.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.