Type Casting in C Language

Type Casting är ett sätt att konvertera en variabel från en datatyp till en annan datatyp. Om du till exempel vill lagra ett långt värde i ett enkelt heltal kan du typcasta long till int. Du kan konvertera värden från en typ till en annan explicit med hjälp av castoperatorn. Det finns två typer av typcastning i c-språket som är Implicita konverteringar och Explicita konverteringar. I den här artikeln lär vi oss också om skillnaden mellan type casting och typkonverteringar.

Ny datatyp bör nämnas före variabelnamnet eller värdet inom parentes som ska typecastas.

C type casting example programme:

I nedanstående C-program kommer enbart 7/5 att ge heltalsvärdet 1.
Så type cast görs före divisionen för att behålla floatvärdet (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 av ett uttryck av en viss typ till en annan typ kallas type casting. typecasting är mer användbart i programmering på c-språket.

Här är det bästa tillvägagångssättet att konvertera en lägre datatyp till en högre datatyp för att undvika dataförlust.

Data kommer att avkortas när den högre datatypen konverteras till en lägre. Om till exempel en float konverteras till int kommer data som finns efter decimaltecknet att gå förlorade.

Det finns två typer av type casting i c-språket.

Typer av typecasting i C

.

S.Nej Typer av type casting i C-programmering
1 Implicit Conversion
2 Explicit konvertering

Implicit konvertering

Implicita konverteringar kräver ingen operatör för konverterade. De utförs automatiskt när ett värde kopieras till en kompatibel typ i programmet.

Här har värdet på a flyttats från int till double och vi har inte behövt ange någon typomvandlingsoperator. Detta kallas för en standardkonvertering.

Exempel :-

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ärde är %d”,p);
12
13 getch();
14 }

Output:-
implicit värde är 20.

Explicit konvertering

I C-språket kräver många konverteringar, särskilt de som innebär en annan tolkning av värdet, en explicit konvertering. Vi har redan sett två notationer för explicit typkonvertering.

De utförs inte automatiskt när ett värde kopieras till en kompatibel typ i programmet.

Exempel :-

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

Output:-
Explicit värde är 20.

Utomatisk aritmetisk konvertering

De vanliga aritmetiska konverteringarna utförs implicit för att kasta sina värden i en gemensam typ, C använder regeln att i alla uttryck utom tilldelningar, alla implicita typkonverteringar som görs från en typ av lägre storlek till en typ av högre storlek som visas nedan:

Type Casting In C Language

Inbyggda typkastfunktioner i C:

Det finns många inbyggda typkastfunktioner i C-språket som utför datatypkonvertering från en typ till en annan.

S.No Typecast Function Beskrivning
1 atof() Konvertera string till Float
2 atoi() Konverterar sträng till int
3 atol() Konverterar sträng till long
4 itoa() Konvertera int till string
5 ltoa() Konvertera long to string

Vi håller nyligen på att göra en enkät från olika programmerare som finns på google plus sociala medier. Vi gjorde en undersökning för type casting i c-språket.

Skillnaden mellan type casting och type conversion

När det finns ett behov av att konvertera en datatyp till en annan kommer de två termerna i vårt sinne ”typecasting” och ”type conversion”. När de två typerna är kompatibla med varandra görs konverteringen av den ena typen till den andra automatiskt av kompilatorn, dvs. kall typkonvertering, men om vi minns att vi kan lagra en stor datatyp i den andra, till exempel kan vi inte lagra en float i int, eftersom en float är större än int, måste programmeraren uttryckligen göra typecasting.

Basis för jämförelse TYPE CASTING TYPE CONVERSION
Definition När en användare kan omvandla en datatyp till en annan så kallas det för typecasting. Typkonvertering är det som automatiskt omvandlar en datatyp till en annan.
Implementerad Implementerad på två ”inkompatibla” datatyper. Implementerad endast när två datatyper är ”kompatibla”.
Operator För att kasta en datatyp till en annan krävs en kastoperator ’()’. Ingen operatör krävs.
Implementeras Det görs under utformningen av programmet. Det görs explicit vid kompilering.
Konverteringstyp Strängande konvertering. Vidgande konvertering.
Exempel int x;
byte y;



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

Lämna ett svar

Din e-postadress kommer inte publiceras.