Type Casting en langage C

Le type casting est une façon de convertir une variable d’un type de données à un autre type de données. Par exemple, si vous voulez stocker une valeur longue dans un simple entier, alors vous pouvez faire un typecast long vers int. Vous pouvez convertir des valeurs d’un type à l’autre de manière explicite en utilisant l’opérateur cast. Il existe deux types de castings de type dans le langage c, à savoir les conversions implicites et les conversions explicites. Dans cet article, nous apprenons également la différence entre le type casting et les conversions de type.

Le nouveau type de données doit être mentionné avant le nom de la variable ou la valeur entre parenthèses qui doit être typecast.

Programme d’exemple de type casting en C:

Dans le programme en C ci-dessous, 7/5 seul produira la valeur entière comme 1.
Donc, le type cast est fait avant la division pour retenir la valeur flottante (1,4).

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

Sortie :
1.400000

Convertir une expression d’un type donné en un autre type est connu sous le nom de type casting. typecasting est plus utilisé dans la programmation du langage c.

Ici, il est préférable de convertir le type de données inférieur en type de données supérieur pour éviter la perte de données.

Les données seront tronquées lorsque le type de données supérieur est converti en inférieur. Par exemple, si un float est converti en int, les données qui sont présentes après le point décimal seront perdues.

Il existe deux types de type casting dans le langage c.

Types de typecasting en C

.

S.No Types de casting de type en programmation C
1 Conversion implicite
2 Conversion explicite

Conversion implicite

Les conversions implicites ne nécessitent aucun opérateur pour convertir. Elles sont automatiquement effectuées lorsqu’une valeur est copiée vers un type compatible dans le programme.

Ici, la valeur de a a été promue de int à double et nous n’avons pas eu à spécifier d’opérateur de type-casting. Ceci est connu comme une conversion standard.

Exemple :-

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 ; // conversion implicite
10
11 printf(« la valeur implicite est %d »,p) ;
12
13 getch();
14 }

Sortie :-
la valeur implicite est de 20.

Conversion explicite

En langage C, de nombreuses conversions, notamment celles qui impliquent une interprétation différente de la valeur, nécessitent une conversion explicite. Nous avons déjà vu deux notations pour la conversion explicite de type.

Elles ne sont pas automatiquement effectuées lorsqu’une valeur est copiée dans un type compatible dans le programme.

Exemple :-

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 ; // Conversion explicite
10
11 printf(« La valeur explicite est %d »,p) ;
12
13 getch();
14 }

Sortie :-
La valeur explicite est 20.

Conversion arithmétique habituelle

Les conversions arithmétiques habituelles sont effectuées implicitement pour couler leurs valeurs dans un type commun, C utilise la règle selon laquelle dans toutes les expressions, à l’exception des assignations, toute conversion implicite de type effectuée d’un type de taille inférieure à un type de taille supérieure, comme indiqué ci-dessous :

Type Casting In C Language

Inbuilt Typecast Functions In C:

Il existe de nombreuses fonctions de type casting intégrées disponibles dans le langage C qui effectue la conversion de type de données d’un type à un autre.

.

S.No Fonction de typecast Description
1 atof() Convertir une chaîne de caractères en Float
2 atoi() Conversion de chaîne en int
3 atol() Conversion de chaîne en long
4 itoa() Convertir int en string
5 ltoa() Convertir long to string

Nous avons récemment fait une enquête auprès de différents programmeurs qui sont disponibles dans les médias sociaux google plus. Nous avons fait une enquête pour le type casting dans le langage c.

Différence entre le type casting et la conversion de type

Chaque fois qu’il y a un besoin de convertir un type de données à un autre les deux termes viennent dans notre esprit « typecasting » et « conversion de type ». Lorsque les deux types sont compatibles l’un avec l’autre, alors la conversion d’un type à l’autre est faite automatiquement par le compilateur qui est la conversion de type froid mais se souvient que nous pouvons stocker un grand type de données dans l’autre par exemple nous ne pouvons pas stocker un float dans int parce qu’un float est plus grand que int. alors que, le typecasting doit être fait explicitement par le programmeur.

BASE DE COMPARAISON TYPE CASTING TYPE CONVERSION
Definition Lorsqu’un utilisateur peut convertir le type de données d’un type en un autre alors on l’appelle le typecasting. La conversion de type est celle qui convertit automatiquement un type de données en un autre.
Mise en œuvre Mise en œuvre sur deux types de données ‘incompatibles’. Mise en œuvre uniquement lorsque deux types de données sont ‘compatibles’.
Opérateur Pour couler un type de données vers un autre, un opérateur de coulage ‘()’ est nécessaire. Aucun opérateur n’est nécessaire.
Mise en œuvre Elle se fait lors de la conception du programme. Cela se fait explicitement lors de la compilation.
Type de conversion Conversion rétrécie. Conversion élargie.
Exemple int x;
byte y;


y= (byte) x;
int x=3;
float y;
y=a ; // valeur en y=3.000.

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.