Typecasting en C / C++ / Découvrir la différence entre Typecasting et Conversion de type

La Typecasting est une caractéristique saillante de la programmation C / C ++ qui donne au programmeur la possibilité de convertir un type de données en un autre type. Les débutants pensent généralement à tort que les termes conversion de type et typecasting en C / C ++ peuvent être utilisés de manière interchangeable, ce n’est pas le cas. Nous discuterons de leurs principales différences afin de garder nos concepts clairs.

Restez à jour avec les dernières tendances technologiques
Rejoignez DataFlair sur Telegram!!

Typecasting en C / C++

Le Typecasting est un moyen de convertir un type de données particulier d’une variable en un autre type de données en C / C++. Cela s’avère très utile en matière de gestion de la mémoire. Supposons que nous souhaitions stocker une valeur de type de données int dans une variable de type de données long, nous pouvons réaliser cette tâche en tapant int en long. Et la bonne nouvelle est que c’est aussi facile que cela puisse paraître.

Syntaxe

int number1;
float number2;

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

Conversion de type en C et C++

La conversion de type est un concept dans lequel un type de données est automatiquement converti en un autre type sans la participation du programmeur. Il est uniquement effectué par le compilateur uniquement si les deux types de données sont compatibles les uns avec les autres.

Syntaxe

int number1= 5;
float number2;
Number2=a; // La valeur de number2 serait 5.000

Faites une pause pendant un moment et explorez les variables en C

Conversion de type vs Typecasting

Souvent, les gens ont tendance à utiliser les termes typecasting et conversions de type de manière interchangeable chaque fois que nous parlons de la conversion d’un type de données à un autre, comme, de int en char.

Il est important de noter les principales différences suivantes:

  1. Le typecasting fait référence à la conversion d’un type de données à un autre par l’utilisateur, tandis que la conversion de type fait référence à la conversion automatique d’un type de données à un autre.
  2. Nous utilisons généralement le typecasting lorsque les deux types de données sont incompatibles l’un avec l’autre. Alors qu’en conversion de type, il est obligatoire que les deux types de données soient compatibles entre eux.
  3. Nous avons besoin de l’opérateur de coulée « () » pour la fonte de caractères en C / C++, alors que nous n’avons pas besoin d’un tel opérateur dans le cas d’une conversion de type.
  4. Nous effectuons généralement un casting de type lors de l’écriture du programme, alors que nous effectuons généralement une conversion de type lors de la compilation.

Types de conversions de type en C / C++

Dans le langage de programmation C / C++, les conversions de type sont de deux types, à savoir:

4.1 Conversion de type implicite

Il est de nature automatique car le compilateur convertit lui-même la variable d’un type à l’autre sans utiliser d’autre fonction. Par conséquent, nous n’avons besoin d’aucun opérateur.

Il est important de comprendre les règles associées aux conversions de type implicites. Ils sont:

  • Les types de données plus petits sont convertis en types de données plus grands pour éviter la perte de données.
  • Lorsque l’opération entre le type de données int et float est effectuée, la valeur résultante serait de type flottant.

N’oubliez pas de vérifier le fonctionnement des opérateurs en C !

Par exemple, considérons le segment de code suivant:

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

Maintenant, comprenons comment cela fonctionne:

Dans la conversion de type implicite, le « x » dans a / x est automatiquement converti en le plus grand type de données, c’est-à-dire le type de données flottant. Cela se produit afin de rendre « x” égal à « a” en termes de type de données.

Par conséquent, la valeur de x = 4.0 et l’expression a / x serait 14.4 / 4.0 = 3.6

  • De même, lorsque l’opération entre char / short et int est effectuée, la valeur résultante serait de type entier car le plus grand type de données ici est int.

Notez que la valeur du type de données char serait traitée comme sa valeur ASCII, et non comme son type de caractère d’origine lorsqu’une opération est effectuée entre le type de données char et int.

Par exemple, considérons le segment de code suivant:

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

Maintenant, voyons comment cela fonctionne:

Nous savons que la valeur ASCII du caractère minuscule ‘z’ est 122. Par conséquent, le compilateur convertit automatiquement le caractère du type de données char en type de données entier et l’expression sum = character + number devient égale à 122 + 8 = 130
Par conséquent, la sortie serait 130.

D’après cette discussion, il est assez clair que le type de données inférieur est converti en un type de données supérieur.

Le diagramme suivant illustre le classement d’un type de données inférieur à un type de données supérieur :

Conversion de type implicite C et C++

4.2 Conversion de type explicite

Elle est effectuée par le programmeur selon sa convenance avec l’aide de l’opérateur cast.

Clé à retenir: Le nouveau type de données doit être clairement mentionné avant l’identifiant ou la valeur entre parenthèses qui doivent être typées.

Exemple de typecasting en C

Voici un programme qui illustre l’utilisation de la typecasting en langage 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;}

Code à l’écran –

Exemple de distribution de caractères en C

Sortie –

Sortie de la distribution de caractères en C

Exemple de typecasting en C++

Voici un programme en C++ qui illustre l’utilisation du 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;}

Code –

Exemple de typecasting en C++

Sortie –

Sortie de typecasting

Fonctions de Typecasting intégrées en C / C++

Il existe 5 types de base de fonctions typecast intégrées en C / C++:

  1. atof(): Nous l’utilisons pour convertir le type de données string en type de données float.
  2. atoi(): Nous l’utilisons pour convertir le type de données string en type de données int.
  3. atol(): Nous l’utilisons pour convertir le type de données string en type de données long.
  4. itoa(): Nous l’utilisons pour convertir le type de données int en type de données string.
  5. ltoa(): Nous l’utilisons pour convertir le type de données long en type de données string.

Résumé

Dans ce tutoriel, nous avons discuté de la signification de base de la conversion de type et de la distribution de type en C / C ++, que la plupart des gens ont tendance à mélanger. Nous avons compris qu’il est possible de convertir un type de données en un autre type, ce qui le rend d’autant plus flexible. Par la suite, nous avons discuté de ce qu’est la conversion de type implicite et la conversion de type explicite. Nous avons conclu notre discussion en donnant un aperçu des différents types de fonctions de typecasting intégrées en C et C ++.

Dévoiler la Différence entre les Structures et les Unions en C

Laisser un commentaire

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