Menu
Coddy logo textTech

Type Casting Partie 2

Fait partie de la section Fundamentals du Journey C de Coddy — leçon 14 sur 63.

Dans la partie 1, nous avons examiné le transtypage implicite. Maintenant, explorons le transtypage explicite en C.

Le transtypage explicite (conversion manuelle) se produit lorsque vous convertissez de force un type de données en un autre en utilisant l'opérateur de transtypage.

La syntaxe pour le transtypage explicite est :

(target_type) expression

Convertissons un float en un entier :

float price = 45.95;
int rounded_price = (int) price;

Après l'exécution du code ci-dessus, rounded_price sera :

45

Notez que la partie décimale est tronquée (et non arrondie).

Nous pouvons également convertir des caractères en entiers pour obtenir leurs valeurs ASCII :

char letter = 'A';
int ascii_value = (int) letter;

Après l'exécution du code ci-dessus, ascii_value sera :

65

N'oubliez pas que le transtypage peut entraîner une perte de données, particulièrement lors de la conversion d'un type de données plus grand vers un plus petit.

challenge icon

Défi

Facile

Écrivez un programme qui :

  1. Déclare une variable de type double nommée temperature et lui assigne la valeur 98.6.
  2. Utilise le transtypage explicite pour convertir temperature en un entier et le stocke dans une variable nommée whole_part.
  3. Affiche la température d'origine et la partie entière sur des lignes distinctes.

Exemple de sortie :

Original temperature: 98.6
Whole part: 98

Aide-mémoire

Le transtypage explicite (ou conversion de type) en C vous permet de convertir manuellement un type de données en un autre à l'aide de l'opérateur de cast.

Syntaxe :

(target_type) expression

Conversion d'un flottant en entier (tronque la partie décimale) :

float price = 45.95;
int rounded_price = (int) price;  // Résultat : 45

Conversion d'un caractère en entier (obtient la valeur ASCII) :

char letter = 'A';
int ascii_value = (int) letter;  // Résultat : 65

Remarque : Le transtypage peut entraîner une perte de données lors de la conversion de types de données plus grands vers des types plus petits.

Essayez vous-même

#include <stdio.h>

int main() {
    // Écrivez votre code ici
    
    return 0;
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fundamentals