logo

C- Tipus Casting

Typecasting en C és el procés de conversió d'un tipus de dades a un altre tipus de dades pel programador mitjançant l'operador de càsting durant el disseny del programa.

En la tipificació, el tipus de dades de destinació pot ser més petit que el tipus de dades d'origen quan es converteix el tipus de dades a un altre tipus de dades, per això també s'anomena conversió de reducció.



Sintaxi:

int x; float y; y = (float) x;>

Tipus de fosa tipus en C

En C hi ha dos tipus principals per realitzar la fosa de tipus.

Tipus de fosa en C
  • Càsting de tipus implícit
  • Càsting de tipus explícit

1. Casting de tipus implícit

El càsting de tipus implícit en C s'utilitza per convertir el tipus de dades de qualsevol variable sense utilitzar el valor real que conté la variable. Realitza les conversions sense alterar cap dels valors que s'emmagatzemen a la variable de dades. La conversió del tipus de dades inferior a un tipus de dades superior es produirà automàticament.



La promoció de nombres enters la farà primer el compilador. Després d'això, determinarà si dos dels operands tenen tipus de dades diferents. Utilitzant la jerarquia següent, la conversió apareixerà de la següent manera si tots dos tenen diferents tipus de dades:

10 de 50
Casting de tipus implícit

2. Casting de tipus explícit

Hi ha alguns casos en què si el tipus de dades no canvia, pot donar una sortida incorrecta. En aquests casos, la tipografia pot ajudar a obtenir la sortida correcta i reduir el temps de compilació. En el càsting de tipus explícit, hem de forçar la conversió entre tipus de dades. Aquest tipus de càsting es defineix explícitament dins del programa.

Programa 1:



C




cadena inversa java
// C program to illustrate the use of> // typecasting> #include> > // Driver Code> int> main()> {> >// Given a & b> >int> a = 15, b = 2;> >float> div>;> > >// Division of a and b> >div> = a / b;> > >printf>(>'The result is %f '>,>div>);> > >return> 0;> }>

>

>

Sortida:

The result is 7.000000>

Explicació: Aquí, la sortida real necessària és 7.500.000 , però el resultat és 7.000.000 . Per tant, per obtenir la sortida correcta, una manera és canviar el tipus de dades d'una variable determinada. Però la sortida correcta també es pot fer mitjançant tipografia . Consisteix a posar un parell de parèntesis al voltant del nom del tipus de dades com divisió = (float) a/b .

nom de la ciutat dels EUA

Programa 2:

C




// C program to showcase the use of> // typecasting> #include> > // Driver Code> int> main()> {> >// Given a & b> >int> a = 15, b = 2;> >char> x =>'a'>;> > >double> div>;> > >// Explicit Typecasting in double> >div> = (>double>)a / b;> > >// converting x implicitly to a+3 i.e, a+3 = d> >x = x + 3;> > >printf>(>'The result of Implicit typecasting is %c '>, x);> > >printf>(>'The result of Explicit typecasting is %f'>,>div>);> > >return> 0;> }>

>

java prova d'atrapar

>

Sortida

The result of Implicit typecasting is d The result of Explicit typecasting is 7.500000>

Explicació: En el programa C anterior, l'expressió (doble) converteix la variable a del tipus int per escriure doble abans de l'operació.

A la programació C, hi ha 5 funcions de càsting de tipus incorporades.

  • atof(): Aquesta funció s'utilitza per convertir el tipus de dades de cadena en un tipus de dades flotant.
  • atbol(): Aquesta funció s'utilitza per convertir el tipus de dades de cadena en un tipus de dades llarg.
  • Asfixia (): Aquesta funció s'utilitza per convertir el tipus de dades llarg en el tipus de dades de cadena.
  • itoba() : Aquesta funció s'utilitza per convertir un tipus de dades int en un tipus de dades de cadena.
  • remolc () : Aquest tipus de dades s'utilitza per convertir el tipus de dades de cadena en un tipus de dades int.

Avantatges del tipus de fosa

  • L'emissió de tipus en programació C fa que el programa sigui molt lleuger.
  • La representació de tipus i les jerarquies són algunes de les característiques que podem aprofitar amb l'ajuda de la tipografia.
  • El càsting de tipus ajuda els programadors a convertir un tipus de dades en un altre.