Přetypování v C/C++ | Odhalit Rozdíl mezi Obsadit & Typ Konverze

Přetypování je nejvýraznějším znakem C/C++ programování, že dává programátor poskytování převést jeden typ dat do jiného typu. Začátečníci si často mylně myslí, že pojmy typ konverze a typcasting v C / C++lze použít zaměnitelně, není tomu tak. Budeme diskutovat o jejich klíčových rozdílech, abychom udrželi naše koncepty křišťálově čisté.

Zůstaňte informováni o nejnovějších technologických trendech
Připojte se k DataFlair na telegramu!!

Přetypování v C/C++

Přetypování je způsob, jak převést konkrétní datový typ proměnné na jiný datový typ v C/C++. Ukázalo se, že je docela užitečné, pokud jde o správu paměti. Předpokládejme, že chceme uložit hodnotu datového typu int do proměnné datového typu long, můžeme dosáhnout tohoto úkolu tím, že přetypování int na long. A dobrou zprávou je, že je to tak snadné, jak to zní.

syntaxe

int number1;
float number2;

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

konverze typu v jazyce C A C++

konverze typu je koncept, ve kterém je jeden typ dat automaticky převeden na jiný typ bez zapojení programátora. Provádí jej pouze kompilátor, pouze pokud jsou oba datové typy vzájemně kompatibilní.

Syntax

int cislo1 = 5;
float cislo2;
Cislo2 = a; // hodnota číslo2 by být 5.000

udělejte Si pauzu na chvíli a prozkoumat Proměnné v C

Typ Konverze vs Obsadit

Často, lidé mají tendenci používat výrazy přetypování a převody typů zaměnitelně, kdykoliv budeme mluvit o konverzi z jednoho typu dat na jiný, například z int na char.

je důležité si uvědomit následující klíčové rozdíly:

  1. Přetypování týká konverze z jednoho datového typu na jiný, uživatelem, vzhledem k tomu, že typ konverze odkazuje na automatickou konverzi z jednoho typu dat na jiný.
  2. obvykle používáme typecasting, pokud jsou oba datové typy vzájemně nekompatibilní. Zatímco při převodu typu je povinné, aby oba datové typy byly vzájemně kompatibilní.
  3. pro typování v c/c++ požadujeme licí operátor “ ()“, zatímco v případě převodu typu žádný takový operátor nevyžadujeme.
  4. při psaní programu obvykle provádíme lití typu, zatímco při kompilaci obvykle provádíme konverzi typu.

Druhy Typ Konverze v C/C++

V C/C++ programovací jazyk, typ konverze jsou dvou typů, a to:

4.1 Implicitní Typové Konverze

To je automatické v přírodě jako kompilátor sám převede proměnnou z jednoho typu do druhého, aniž zaměstnanosti nějaké jiné funkce. Proto nevyžadujeme žádného operátora.

je důležité porozumět pravidlům spojeným s implicitními konverzemi typu. Jsou to:

  • menší datové typy jsou převedeny na větší datové typy, aby se zabránilo ztrátě dat.
  • když je provedena operace mezi datovým typem int a float, výsledná hodnota by byla plovoucího typu.

nezapomeňte zkontrolovat, jak operátoři v C funguje!

například, zvažte následující úsek kódu:

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

Nyní, pojďme pochopit, jak to funguje:

V implicitní typové konverze, „x“ v / x je automaticky převeden do větší typ dat, to znamená, že typ dat float. K tomu dochází, aby se „x“ rovnalo „a“ z hlediska datového typu.

proto je hodnota x = 4.0 a výraz a / x by bylo 14.4 v / 4.0 = 3.6

  • Podobně, když se operace mezi char/short a int se provádí, výsledná hodnota bude typu integer jako větší typ dat, tady je int.

Všimněte si, že hodnota datového typu char by byla považována za jeho hodnotu ASCII, nikoli za původní typ znaku, pokud je provedena operace mezi datovým typem char a int.

zvažte například následující segment kódu:

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

nyní pochopíme, jak to funguje:

víme, že hodnota ASCII malého znaku ‚z‘ je 122. Proto kompilátor automaticky převede znak datového typu char na celočíselný datový typ a výraz sum = character + number se rovná 122 + 8 = 130
proto by výstup byl 130.

z této diskuse je zřejmé, že nižší datový typ je převeden na vyšší datový typ.

následující schéma znázorňuje pořadí nižší datového typu na vyšší typ dat:

Implicitní Převod typů C a C++

4.2 explicitní převod typu

provádí programátor podle vlastního pohodlí pomocí obsluhy obsazení.

klíč s sebou: nový datový typ by měl být jasně uveden buď před identifikátorem, nebo hodnotou v závorkách, které mají být typecasted.

příklad typecastingu v jazyce C

zde je program, který ilustruje použití typecastingu v jazyce C:

#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;}

Kód na Obrazovce-

Příklad přetypování v C

Výstup:

Výstup přetypování v C

Příklad přetypování v C++

Zde je program v C++, který ilustruje použití přetypování:

#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;}

Kód

Příklad přetypování v C++

Výstup:

Výstup obsadit

Vestavěný Obsadit Funkce v C/C++

Existuje 5 základních typů vestavných obsazují funkce v C/C++:

  1. atof (): používáme jej k převodu datového typu řetězce na datový typ float.
  2. atoi (): používáme jej k převodu datového typu řetězce na datový typ int.
  3. atol (): používáme jej k převodu datového typu řetězce na dlouhý datový typ.
  4. itoa (): používáme jej k převodu datového typu int na datový typ řetězce.
  5. ltoa (): používáme jej k převodu dlouhého datového typu na datový typ řetězce.

Shrnutí

V tomto kurzu jsme probrali základní význam typ konverze a přetypování v C/C++, které většina lidí tendenci míchat. Pochopili jsme, že je možné převést jeden typ dat na jiný typ, což je o to flexibilnější. Poté jsme diskutovali, co je implicitní konverze typu a explicitní konverze typu. Naši diskusi jsme zakončili přehledem různých typů vestavěných funkcí typecastingu v C A C++.

Odhalte rozdíl mezi strukturami a odbory v C

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.