Type Casting i C

okt 27, 2021
Type Casting i C

Type Casting er en måde at konvertere en variabel fra en datatype til en anden datatype på. Hvis du f.eks. ønsker at gemme en lang værdi i et simpelt heltal, kan du typecast long til int. Du kan konvertere værdier fra en type til en anden eksplicit ved hjælp af cast-operatoren. Der er to typer typecasting i c-sprog, nemlig Implicitte konverteringer og Eksplicitte konverteringer. I denne artikel lærer vi også om forskellen mellem typecasting og typekonverteringer.

Ny datatype skal nævnes før variabelnavnet eller værdien i parentes, som skal typecastes.

C type casting eksempelprogram:

I nedenstående C-program vil 7/5 alene give en heltalsværdi som 1.
Så type cast foretages før division for at bevare float-værdien (1,4).

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

Output:
1.400000

Konvertering af et udtryk af en given type til en anden type er kendt som type casting. typecasting er mere brug i c sprog programmering.

Her, Det er bedste praksis at konvertere lavere datatype til højere datatype for at undgå datatab.

Data vil blive afkortet, når den højere datatype konverteres til lavere. Hvis f.eks. en float konverteres til int, vil data, der er til stede efter decimalkommaet, gå tabt.

Der er to typer typecasting i c-sprog.

Typer af typecasting i C

S.Nej Typer af typecasting i C Programmering
1 Implicit Conversion
2 Explicit konvertering

Implicit konvertering

Implicit konverteringer kræver ingen operatør for konverteret. De udføres automatisk, når en værdi kopieres til en kompatibel type i programmet.

Her er værdien af a blevet forfremmet fra int til double, og vi har ikke behøvet at angive nogen type-casting-operator. Dette er kendt som en standardkonvertering.

Eksempel :-

1 #include<stdio.h>
2 #include<conio.h>
3 void main()
4 {
5 int i=20;
6 double p;
7 clrscr();
8
9 p=i; // implicit konvertering
10
11 printf(“implicit værdi er %d”,p);
12
13 getch();
14 }

Output:-
implicit værdi er 20.

Eksplicit konvertering

I C-sprog kræver mange konverteringer, især dem, der indebærer en anden fortolkning af værdien, en eksplicit konvertering. Vi har allerede set to notationer for eksplicit typekonvertering.

De udføres ikke automatisk, når en værdi kopieres til en kompatibel type i programmet.

Eksempel :-

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; // Eksplicit konvertering
10
11 printf(“Eksplicit værdi er %d”,p);
12
13 getch();
14 }

Output:-
Eksplicit værdi er 20.

Usuel aritmetisk konvertering

De sædvanlige aritmetiske konverteringer udføres implicit for at støbe deres værdier i en fælles type, C bruger reglen om, at i alle udtryk undtagen tildelinger, foretages alle implicitte typekonverteringer fra en type af lavere størrelse til en type af højere størrelse som vist nedenfor:

Type Casting I C Sprog

Inbyggede typecast-funktioner I C:

Der er mange indbyggede typecast-funktioner til rådighed i C-sproget, som udfører datatype-konvertering fra en type til en anden.

S.No Typecast Function Beskrivelse
1 atof() Konverter streng til Float
2 atoi() Konverter streng til int
3 atol() Konverter streng til long
4 itoa() Konverter int til string
5 5 ltoa() Konverter long til string

Vi tager for nylig en undersøgelse fra forskellige programmører, der er tilgængelige i google plus sociale medier. Vi lavede en undersøgelse for type casting i c sprog.

forskel mellem type casting og type konvertering

Når der er behov for at konvertere en datatype til en anden, kommer de to udtryk i vores sind “typecasting” og “type konvertering”. Når de to typer er kompatible med hinanden, sker konverteringen af den ene type til den anden automatisk af compileren, som er kold type konvertering, men husker vi kan gemme en stor datatype i den anden for eksempel kan vi ikke gemme en float i int, fordi en float er større end int. mens typecasting skal gøres eksplicit af programmøren.

Basis for sammenligning TYPE CASTING TYPE CONVERSION
Definition Når en bruger kan konvertere den ene datatype til den anden, kaldes det for typecasting. Typekonvertering er det, der automatisk konverterer den ene datatype til en anden.
Implementeret Implementeres på to “inkompatible” datatyper. Implementeres kun, når to datatyper er “kompatible”.
Operator For casting af en datatype til en anden er en casting-operator ‘()’ påkrævet. Ingen operator påkrævet.
Implementeret Det sker under programdesign. Det gøres eksplicit under kompilering.
Konverteringstype Begrænsende konvertering. Breddende konvertering.
Eksempel int x;
byte y;



y= (byte) x;
int x=3;
float y;
y=a; // værdi i y=3.000.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.