Typecasting i C | C++/afdække forskel mellem Typecasting & type konvertering

Typecasting er et fremtrædende træk ved C / C++ programmering, der giver programmøren mulighed for at konvertere en type data til en anden type. Begyndere misforstår ofte, at udtrykkene type konverteringer og typecasting i C/C++kan bruges om hverandre, Det er ikke tilfældet. Vi vil diskutere deres vigtigste forskelle for at holde vores koncepter krystalklare.

Hold dig opdateret med nyeste teknologi tendenser
Deltag DataFlair på Telegram!!

Typecasting i C/C++

Typecasting er en måde at konvertere en bestemt datatype af en variabel til en anden datatype i C / C++. Det viser sig at være ret nyttigt, når det kommer til hukommelsesstyring. Antag, at vi vil gemme en værdi af datatype int i en variabel af datatype lang, Vi kan opnå denne opgave ved at typecasting int til lang. Og den gode nyhed er, at det er så nemt som det lyder.

syntaks

int number1;
float number2;

/ / BODY
….
number2 = (float) number1;

Type konvertering i C og C++

Type konvertering er et koncept, hvor en type data automatisk konverteres til en anden type uden programmørens involvering. Det gøres udelukkende af kompilatoren, hvis begge datatyper er kompatible med hinanden.

syntaks

int number1 = 5;
float number2;
Number2 = a; // værdien af number2 ville være 5.000

tag en pause et stykke tid og udforsk variabler i C

Type konvertering vs Typecasting

ofte har folk en tendens til at bruge udtrykkene typecasting og type konverteringer ombytteligt, når vi taler om konvertering af en type data til en anden, som f.eks.

det er vigtigt at bemærke følgende nøgleforskelle:

  1. Typecasting henviser til konvertering af en datatype til en anden af brugeren, mens typekonvertering henviser til den automatiske konvertering af en type data til en anden.
  2. Vi bruger generelt typecasting, når begge datatyper er uforenelige med hinanden. Mens det i typekonvertering er obligatorisk, at begge datatyper er kompatible med hinanden.
  3. Vi kræver casting operator “() ” til typecasting i C/C++, mens vi ikke kræver nogen sådan operatør i tilfælde af typekonvertering.
  4. Vi skriver normalt casting, mens vi skriver programmet, mens vi skriver konvertering normalt under kompilering.

typer af Typekonverteringer i C/C++

i programmeringssproget C/C++ er typekonverteringer af to typer, nemlig:

4.1 Implicit typekonvertering

det er automatisk, da kompilatoren selv konverterer variablen fra den ene type til den anden uden ansættelse af nogen anden funktion. Derfor kræver vi ikke nogen operatør.

det er vigtigt at forstå reglerne i forbindelse med implicitte type konverteringer. De er:

  • mindre datatyper konverteres til større datatyper for at undgå tab af data.
  • når operationen mellem int-og float-datatypen udføres, vil den resulterende værdi være af flydende type.

glem ikke at kontrollere, hvordan operatører i C fungerer!

overvej for eksempel følgende kodesegment:

int x =4;float a = 14.4, b;b = a / x;

lad os nu forstå, hvordan dette fungerer:

i implicit typekonvertering konverteres “h” i a / H automatisk til den større datatype, det vil sige float-datatypen. Dette sker for at gøre” h “lig med” a ” med hensyn til dens datatype.

derfor er værdien af H = 4.0 og udtrykket a / h ville være 14,4 / 4,0 = 3,6

  • tilsvarende, når operationen mellem char/short og int udføres, ville den resulterende værdi være af heltalstype, da den større datatype her er int.

bemærk, at værdien af char-datatypen vil blive behandlet som dens ASCII-værdi, ikke som dens oprindelige tegntype, når en operation udføres mellem char-og int-datatypen.

overvej for eksempel følgende segment af kode:

char character = 'z';int number = 8, sum;sum = character + number;

lad os nu forstå, hvordan det fungerer:

Vi ved, at ASCII-værdien af små bogstaver ‘Å’ er 122. Derfor konverterer kompilatoren automatisk karakteren af char-datatypen til heltalsdatatypen, og udtrykket sum = tegn + tal bliver lig med 122 + 8 = 130
derfor ville output være 130.

fra denne diskussion er det ret klart, at den lavere datatype konverteres til en højere datatype.

følgende diagram illustrerer placeringen af en lavere datatype til en højere datatype:

Implicit type konvertering C og C++

4.2 eksplicit type konvertering

det udføres af programmereren efter hans egen bekvemmelighed ved hjælp af cast-operatøren.

nøgleudtagning: den nye datatype skal tydeligt nævnes enten før identifikatoren eller værdien inden for parenteser, der skal typecastes.

eksempel på typecasting i C

Her er et program, der illustrerer brugen af typecasting i C sprog:

#include <stdio.h>int main (){printf("Welcome to DataFlair tutorials!\n\n");int sum = 21, count = 5;double average;average = (double) sum / count;printf("The average value is : %f\n", average );return 0;}

kode på skærmen-

eksempel på typecasting i C

Output-

Output af typecasting i C

eksempel på typecasting i C++

Her er et program i C++, der illustrerer brugen af typecasting:

#include <iostream>using namespace std;int main (){cout<<"Welcome to DataFlair tutorials!"<<endl<<endl;int sum = 21, count = 5;double average;average = (double) sum / count;cout<<"The average value is : "<< average <<endl;return 0;}

kode-

eksempel på typecasting i C++

Output-

output af typecasting

indbyggede typecasting-funktioner i C/C++

der er 5 grundlæggende typer indbyggede typecast-funktioner i C/C++:

  1. atof(): vi bruger den til at konvertere strengdatatype til float-datatypen.
  2. atoi (): vi bruger den til at konvertere strengdatatype til int-datatypen.
  3. atol (): vi bruger den til at konvertere strengdatatype til den lange datatype.
  4. itoa(): vi bruger den til at konvertere int-datatype til strengdatatypen.
  5. ltoa (): vi bruger den til at konvertere lang datatype til strengdatatypen.

oversigt

i denne vejledning diskuterede vi den grundlæggende betydning af typekonvertering og typecasting i C / C++, som de fleste mennesker har tendens til at blande op. Vi forstod, at det er muligt at konvertere en type data til en anden type, hvilket gør det desto mere fleksibelt. Derefter diskuterede vi, hvad der er implicit type konvertering og eksplicit type konvertering. Vi afsluttede vores diskussion ved at overse de forskellige typer indbyggede typecasting-funktioner i C og C++.

afsløre forskellen mellem strukturer og fagforeninger i C

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.