Introduction
Dans ce laboratoire, vous apprendrez à travailler avec des variables et des types de données en C++. Vous explorerez différentes tailles de variables entières, initialiserez des variables de type float et double, déclarerez des variables de type caractère et chaîne de caractères, effectuerez des conversions de type (type casting), définirez des constantes, utiliserez des variables booléennes et vérifierez la taille mémoire de différents types de données. De plus, vous apprendrez à gérer les situations de dépassement d'entier (integer overflow). Cette expérience pratique vous fournira une solide base pour la gestion des données dans vos projets de programmation en C++.
Déclarer des variables entières de tailles différentes (short, int, long)
Dans cette étape, vous allez apprendre à propos des différents types de variables entières en C++ et à déclarer des variables avec des tailles mémoire variables. C++ propose plusieurs types entiers pour vous aider à choisir le stockage le plus approprié pour vos données.
Ouvrez le WebIDE et créez un nouveau fichier appelé integer_variables.cpp dans le répertoire ~/project :
touch ~/project/integer_variables.cpp
Ajoutez le code suivant au fichier integer_variables.cpp :
#include <iostream>
int main() {
// Déclaration d'un entier court (généralement 2 octets)
short smallNumber = 32767;
// Déclaration d'un entier standard (généralement 4 octets)
int regularNumber = 2147483647;
// Déclaration d'un entier long (généralement 4 ou 8 octets)
long largeNumber = 9223372036854775807L;
// Affichage des valeurs des différents types entiers
std::cout << "Short Integer: " << smallNumber << std::endl;
std::cout << "Regular Integer: " << regularNumber << std::endl;
std::cout << "Long Integer: " << largeNumber << std::endl;
return 0;
}
Analysons les types entiers :
short:- Plus petit type entier
- Utilise généralement 2 octets de mémoire
- Plage de valeurs : -32 768 à 32 767
int:- Type entier standard
- Utilise généralement 4 octets de mémoire
- Plage de valeurs : -2 147 483 648 à 2 147 483 647
long:- Type entier plus grand
- Peut être de 4 ou 8 octets selon le système
- Plage de valeurs : -9 223 372 036 854 775 808 à 9 223 372 036 854 775 807
Compilez et exécutez le programme :
g++ integer_variables.cpp -o integer_variables
./integer_variables
Exemple de sortie :
Short Integer: 32767
Regular Integer: 2147483647
Long Integer: 9223372036854775807
Points clés à retenir :
- Choisissez le type entier en fonction de la plage de valeurs que vous devez stocker.
- Le suffixe
Lpour les entiers longs garantit une interprétation correcte du type. - Différents systèmes peuvent avoir des tailles mémoire légèrement différentes pour ces types.
Comprendre les types entiers et leurs plages de valeurs est fondamental pour la programmation en C++. Ces types offrent différentes allocations mémoire pour stocker efficacement diverses plages de nombres entiers. Visualisons comment ces types s'insèrent dans le système de types plus large de C++ :
graph LR
A[C++ Data Types] --> B[Fundamental Types]
A --> C[Derived Types]
B --> D[Integer Types]
B --> E[Floating-Point Types]
B --> F[Character Types]
B --> G[Boolean]
D --> D1[short]
D --> D2[int]
D --> D3[long]
D --> D4[long long]
E --> E1[float]
E --> E2[double]
E --> E3[long double]
F --> F1[char]
F --> F2[wchar_t]
C --> H[Arrays]
C --> I[Pointers]
C --> J[References]
C --> K[std::string]
style A fill:#f9f,stroke:#333,stroke-width:2px
style B fill:#bbf,stroke:#333
style C fill:#bbf,stroke:#333
Nous apprendrons à propos des types à virgule flottante, des types caractères et des types booléens dans les étapes suivantes.
Initialiser des variables flottantes (float et double) avec des points décimaux
Dans cette étape, vous allez apprendre à propos des variables à virgule flottante en C++, plus précisément les types float et double, qui vous permettent de travailler avec des nombres décimaux. Ces types sont essentiels pour représenter des nombres avec des parties fractionnaires.
Ouvrez le WebIDE et créez un nouveau fichier appelé floating_point.cpp dans le répertoire ~/project :
touch ~/project/floating_point.cpp
Ajoutez le code suivant au fichier floating_point.cpp :
#include <iostream>
#include <iomanip>
int main() {
// Déclaration et initialisation de variables de type float
float smallDecimal = 3.14f; // Le suffixe 'f' indique un type float
float scientificNotation = 2.5e3f; // 2.5 × 10^3 = 2500.0
// Déclaration et initialisation de variables de type double
double preciseDecimal = 3.14159265359;
double largeDecimal = 1.23456789e10; // 12 345 678 900.0
// Paramétrage de la précision pour l'affichage des nombres décimaux
std::cout << std::fixed << std::setprecision(4);
// Affichage des valeurs de type float
std::cout << "Float Values:" << std::endl;
std::cout << "Small Decimal: " << smallDecimal << std::endl;
std::cout << "Scientific Notation: " << scientificNotation << std::endl;
// Affichage des valeurs de type double
std::cout << "\nDouble Values:" << std::endl;
std::cout << "Precise Decimal: " << preciseDecimal << std::endl;
std::cout << "Large Decimal: " << largeDecimal << std::endl;
return 0;
}
Analysons les types à virgule flottante :
float:- Type à virgule flottante à simple précision
- Utilise généralement 4 octets de mémoire
- Moins précis, adapté pour les calculs décimaux de base
- Utilisez le suffixe 'f' lors de l'initialisation
double:- Type à virgule flottante à double précision
- Utilise généralement 8 octets de mémoire
- Plus précis, préféré pour la plupart des calculs décimaux
- Peut représenter des nombres décimaux plus grands et plus précis
Compilez et exécutez le programme :
g++ floating_point.cpp -o floating_point
./floating_point
Exemple de sortie :
Float Values:
Small Decimal: 3.1416
Scientific Notation: 2500.0000
Double Values:
Precise Decimal: 3.1416
Large Decimal: 12345678900.0000
Points clés à retenir :
- Utilisez
floatpour les nombres décimaux plus petits et moins précis. - Utilisez
doublepour les calculs plus précis. - Le suffixe 'f' est important pour les littéraux de type float.
- La notation scientifique permet de représenter des nombres très grands ou très petits.
std::fixedetstd::setprecision()vous aident à contrôler l'affichage des nombres décimaux.
Déclarer et initialiser des variables de caractères avec des guillemets simples
Dans cette étape, vous allez apprendre à propos des variables de type caractère en C++, qui sont utilisées pour stocker un seul caractère et sont déclarées en utilisant des apostrophes simples. Les caractères sont des types de données fondamentaux qui représentent des lettres, des chiffres ou des symboles individuels.
Ouvrez le WebIDE et créez un nouveau fichier appelé character_variables.cpp dans le répertoire ~/project :
touch ~/project/character_variables.cpp
Ajoutez le code suivant au fichier character_variables.cpp :
#include <iostream>
int main() {
// Déclaration et initialisation de variables de type caractère
char letter = 'A';
char number = '7';
char symbol = '$';
// Affichage des valeurs des caractères
std::cout << "Letter: " << letter << std::endl;
std::cout << "Number: " << number << std::endl;
std::cout << "Symbol: " << symbol << std::endl;
// Exemple d'opération arithmétique sur les caractères
char nextLetter = letter + 1;
std::cout << "Next Letter: " << nextLetter << std::endl;
// Valeur ASCII des caractères
std::cout << "ASCII value of 'A': " << (int)letter << std::endl;
return 0;
}
Analysons les variables de type caractère :
Déclaration :
- Utilisez le mot-clé
char - Toujours initialisées avec des apostrophes simples
'' - Peuvent stocker un seul caractère
- Utilisez le mot-clé
Types de caractères :
- Lettres : 'A', 'b', 'Z'
- Chiffres : '0', '7', '9'
- Symboles : '$', '@', '#'
Opérations arithmétiques sur les caractères :
- Les caractères peuvent être manipulés à l'aide d'opérations entières
- Chaque caractère a une valeur ASCII sous-jacente
Compilez et exécutez le programme :
g++ character_variables.cpp -o character_variables
./character_variables
Exemple de sortie :
Letter: A
Number: 7
Symbol: $
Next Letter: B
ASCII value of 'A': 65
Points clés à retenir :
- Utilisez des apostrophes simples
''pour les littéraux de type caractère. - Les caractères sont stockés sous forme de valeurs numériques (ASCII).
- Vous pouvez effectuer des opérations arithmétiques sur les caractères.
- Chaque caractère occupe 1 octet de mémoire.
Créer des variables chaîne de caractères en utilisant std::string
Dans cette étape, vous allez apprendre à créer et manipuler des variables de type chaîne de caractères en utilisant la classe std::string en C++. Les chaînes de caractères sont des séquences de caractères qui vous permettent de travailler plus facilement avec du texte par rapport aux tableaux de caractères.
Ouvrez le WebIDE et créez un nouveau fichier appelé string_variables.cpp dans le répertoire ~/project :
touch ~/project/string_variables.cpp
Ajoutez le code suivant au fichier string_variables.cpp :
#include <iostream>
#include <string>
int main() {
// Déclaration et initialisation de variables de type chaîne de caractères
std::string greeting = "Hello, World!";
std::string name = "John Doe";
std::string empty_string;
// Affichage des variables de type chaîne de caractères
std::cout << "Greeting: " << greeting << std::endl;
std::cout << "Name: " << name << std::endl;
// Concaténation de chaînes de caractères
std::string welcome = greeting + " Welcome, " + name;
std::cout << "Welcome Message: " << welcome << std::endl;
// Longueur de la chaîne de caractères
std::cout << "Greeting length: " << greeting.length() << std::endl;
// Accès à un caractère individuel
std::cout << "First character of name: " << name[0] << std::endl;
// Modification de chaînes de caractères
name = "Jane Smith";
std::cout << "Updated Name: " << name << std::endl;
return 0;
}
Analysons les opérations sur les chaînes de caractères :
Déclaration :
- Utilisez
#include <string>pour accéder aux fonctionnalités des chaînes de caractères - Déclarez avec le mot-clé
std::string - Peuvent être initialisées avec du texte ou laissées vides
- Utilisez
Opérations sur les chaînes de caractères :
- Concaténation avec l'opérateur
+ - Obtenir la longueur avec la méthode
.length() - Accéder aux caractères avec l'index
[]
- Concaténation avec l'opérateur
Compilez et exécutez le programme :
g++ string_variables.cpp -o string_variables
./string_variables
Exemple de sortie :
Greeting: Hello, World!
Name: John Doe
Welcome Message: Hello, World! Welcome, John Doe
Greeting length: 13
First character of name: J
Updated Name: Jane Smith
Points clés à retenir :
std::stringest plus flexible que les tableaux de caractères.- Les chaînes de caractères peuvent être facilement modifiées et manipulées.
- Utilisez
.length()pour obtenir la taille de la chaîne de caractères. - Les chaînes de caractères peuvent être concaténées avec l'opérateur
+.
Conversion entre différents types numériques à l'aide du casting de type
Dans cette étape, vous allez apprendre à propos du transtypage (type casting) en C++, qui vous permet de convertir des valeurs entre différents types numériques. Le transtypage est essentiel lorsque vous avez besoin de changer le type de données d'une variable sans perdre la valeur originale.
Ouvrez le WebIDE et créez un nouveau fichier appelé type_casting.cpp dans le répertoire ~/project :
touch ~/project/type_casting.cpp
Ajoutez le code suivant au fichier type_casting.cpp :
#include <iostream>
int main() {
// Transtypage implicite (conversion automatique)
int intValue = 10;
double doubleValue = intValue; // Convertit automatiquement un int en double
std::cout << "Implicit Conversion (int to double): " << doubleValue << std::endl;
// Transtypage explicite (conversion manuelle)
double pi = 3.14159;
int truncatedPi = (int)pi; // Transtypage en style C, tronque la partie décimale
std::cout << "Explicit Conversion (double to int): " << truncatedPi << std::endl;
// Transtypage statique pour la conversion de type
float floatValue = 7.5f;
int roundedValue = static_cast<int>(floatValue);
std::cout << "Static Cast (float to int): " << roundedValue << std::endl;
// Conversion entre types numériques avec perte potentielle de données
long largeNumber = 1000000;
short smallNumber = static_cast<short>(largeNumber);
std::cout << "Large to Small Type Conversion: " << smallNumber << std::endl;
// Mélange de différents types numériques dans des calculs
int a = 5;
double b = 2.5;
double result = a + b; // Conversion implicite de int en double
std::cout << "Mixed Type Calculation: " << result << std::endl;
return 0;
}
Analysons le transtypage :
Transtypage implicite :
- Conversion automatique entre des types compatibles
- Se produit sans intervention du programmeur
- Généralement sûr lors de la conversion vers un type plus grand
Transtypage explicite :
- Conversion de type manuelle
- Utilise
static_cast<>()ou la syntaxe en style C(type) - Peut entraîner une perte de données ou des résultats inattendus
Compilez et exécutez le programme :
g++ type_casting.cpp -o type_casting
./type_casting
Exemple de sortie :
Implicit Conversion (int to double): 10
Explicit Conversion (double to int): 3
Static Cast (float to int): 7
Large to Small Type Conversion: 16960
Mixed Type Calculation: 7.5
Points clés à retenir :
- Soyez prudent lors du transtypage vers des types plus petits.
- Utilisez
static_cast<>()pour des conversions plus sûres et plus explicites. - Comprenez la perte potentielle de données lors des conversions.
- Les conversions implicites peuvent se produire automatiquement dans les calculs.
Définir des constantes à l'aide du mot clé const
Dans cette étape, vous allez apprendre à définir des constantes en C++ en utilisant le mot-clé const. Les constantes sont des valeurs qui ne peuvent pas être modifiées après l'initialisation, offrant ainsi un moyen de créer des variables immuables qui protègent les données contre des modifications non intentionnelles.
Ouvrez le WebIDE et créez un nouveau fichier appelé constants.cpp dans le répertoire ~/project :
touch ~/project/constants.cpp
Ajoutez le code suivant au fichier constants.cpp :
#include <iostream>
int main() {
// Définition de constantes avec le mot-clé const
const int MAX_USERS = 100;
const double PI = 3.14159;
const char GRADE_SEPARATOR = '-';
// Exemple d'utilisation des constantes
std::cout << "Maximum Users: " << MAX_USERS << std::endl;
std::cout << "Value of PI: " << PI << std::endl;
std::cout << "Grade Separator: " << GRADE_SEPARATOR << std::endl;
// Convention de nommage : les constantes utilisent généralement des majuscules
const int DAYS_IN_WEEK = 7;
const std::string WELCOME_MESSAGE = "Welcome to C++ Programming!";
std::cout << "Days in a Week: " << DAYS_IN_WEEK << std::endl;
std::cout << "Welcome Message: " << WELCOME_MESSAGE << std::endl;
// Tentative de modification d'une constante (causera une erreur de compilation)
// Décommentez la ligne suivante pour voir l'erreur
// MAX_USERS = 200; // Cela causerait une erreur à la compilation
return 0;
}
Analysons les constantes :
Déclaration :
- Utilisez le mot-clé
constavant le type - Doit être initialisée lors de la déclaration
- Ne peut pas être modifiée après l'initialisation
- Utilisez le mot-clé
Bonnes pratiques :
- Utilisez des majuscules pour les noms de constantes
- Fonctionne avec tous les types de données
- Aide à prévenir les modifications accidentelles
Compilez et exécutez le programme :
g++ constants.cpp -o constants
./constants
Exemple de sortie :
Maximum Users: 100
Value of PI: 3.14159
Grade Separator: -
Days in a Week: 7
Welcome Message: Welcome to C++ Programming!
Points clés à retenir :
constcrée une variable immuable.- Les constantes doivent être initialisées lors de la déclaration.
- Aide à rendre le code plus lisible et plus sûr.
- Empêche les modifications non intentionnelles de valeurs importantes.
Utiliser des variables booléennes pour les conditions Vrai/Faux
Dans cette étape, vous allez apprendre à propos des variables booléennes en C++, qui représentent des valeurs vraies ou fausses. Les booléens sont fondamentaux pour créer une logique conditionnelle et prendre des décisions dans vos programmes.
Ouvrez le WebIDE et créez un nouveau fichier appelé boolean_variables.cpp dans le répertoire ~/project :
touch ~/project/boolean_variables.cpp
#include <iostream>
int main() {
// Déclaration de variables booléennes
bool isStudent = true;
bool hasPassedExam = false;
// Affichage des valeurs booléennes
std::cout << "Is Student: " << std::boolalpha << isStudent << std::endl;
std::cout << "Passed Exam: " << hasPassedExam << std::endl;
// Opérations de comparaison qui donnent des résultats booléens
int age = 20;
bool isAdult = (age >= 18);
std::cout << "Is Adult: " << isAdult << std::endl;
// Opérations logiques
bool hasScholarship = true;
bool canEnroll = isStudent && isAdult;
std::cout << "Can Enroll: " << canEnroll << std::endl;
// Négation
bool isUnemployed =!hasPassedExam;
std::cout << "Is Unemployed: " << isUnemployed << std::endl;
// Instruction conditionnelle utilisant un booléen
if (isStudent && hasPassedExam) {
std::cout << "Congratulations! You can proceed to the next level." << std::endl;
} else {
std::cout << "You need to improve your academic performance." << std::endl;
}
return 0;
}
Analysons les variables booléennes :
Déclaration :
- Utilisez le mot-clé
bool - Ne peut être que
trueoufalse - Utile pour la logique conditionnelle
- Utilisez le mot-clé
Opérations :
- Les opérateurs de comparaison produisent des résultats booléens
- ET logique
&& - OU logique
|| - Négation
!
Compilez et exécutez le programme :
g++ boolean_variables.cpp -o boolean_variables
./boolean_variables
Exemple de sortie :
Is Student: true
Passed Exam: false
Is Adult: true
Can Enroll: true
Is Unemployed: true
You need to improve your academic performance.
Points clés à retenir :
- Les booléens représentent des conditions vraies/fausses.
- Utilisés dans les comparaisons et les opérations logiques.
- Essentiels pour la prise de décision dans les programmes.
std::boolalphaaffiche "true"/"false" au lieu de 1/0.
Vérifier la taille mémoire des différents types de données à l'aide de sizeof()
Dans cette étape, vous allez apprendre à propos de l'opérateur sizeof() en C++, qui vous permet de déterminer la taille mémoire de différents types de données. Comprendre l'allocation mémoire est crucial pour une programmation efficace et une gestion mémoire optimale.
Ouvrez le WebIDE et créez un nouveau fichier appelé sizeof_operator.cpp dans le répertoire ~/project :
touch ~/project/sizeof_operator.cpp
#include <iostream>
int main() {
// Vérification de la taille mémoire des types entiers
std::cout << "Integer Types Memory Size:" << std::endl;
std::cout << "short: " << sizeof(short) << " bytes" << std::endl;
std::cout << "int: " << sizeof(int) << " bytes" << std::endl;
std::cout << "long: " << sizeof(long) << " bytes" << std::endl;
std::cout << "long long: " << sizeof(long long) << " bytes" << std::endl;
// Vérification de la taille mémoire des types à virgule flottante
std::cout << "\nFloating-Point Types Memory Size:" << std::endl;
std::cout << "float: " << sizeof(float) << " bytes" << std::endl;
std::cout << "double: " << sizeof(double) << " bytes" << std::endl;
std::cout << "long double: " << sizeof(long double) << " bytes" << std::endl;
// Vérification de la taille mémoire des types caractères et booléens
std::cout << "\nOther Types Memory Size:" << std::endl;
std::cout << "char: " << sizeof(char) << " bytes" << std::endl;
std::cout << "bool: " << sizeof(bool) << " bytes" << std::endl;
// Vérification de la taille mémoire de variables spécifiques
int intVar = 42;
double doubleVar = 3.14;
char charVar = 'A';
std::cout << "\nVariable Memory Size:" << std::endl;
std::cout << "intVar: " << sizeof(intVar) << " bytes" << std::endl;
std::cout << "doubleVar: " << sizeof(doubleVar) << " bytes" << std::endl;
std::cout << "charVar: " << sizeof(charVar) << " bytes" << std::endl;
return 0;
}
Analysons l'opérateur sizeof() :
But :
- Détermine la taille mémoire des types de données
- Retourne la taille en octets
- Utile pour comprendre l'allocation mémoire
Utilisation :
- Peut être utilisé avec des types de données
- Peut être utilisé avec des variables
- Aide à comprendre les besoins mémoire
Compilez et exécutez le programme :
g++ sizeof_operator.cpp -o sizeof_operator
./sizeof_operator
Exemple de sortie :
Integer Types Memory Size:
short: 2 bytes
int: 4 bytes
long: 8 bytes
long long: 8 bytes
Floating-Point Types Memory Size:
float: 4 bytes
double: 8 bytes
long double: 16 bytes
Other Types Memory Size:
char: 1 bytes
bool: 1 bytes
Variable Memory Size:
intVar: 4 bytes
doubleVar: 8 bytes
charVar: 1 bytes
Points clés à retenir :
sizeof()retourne la taille mémoire en octets.- Les tailles mémoire peuvent varier d'un système à l'autre.
- Aide à comprendre les besoins mémoire des types de données.
- Utile pour la gestion mémoire de bas niveau.
Gérer les dépassements de capacité des entiers
Dans cette étape, vous allez apprendre à propos du dépassement d'entier (integer overflow), une situation qui se produit lorsqu'un calcul produit une valeur qui dépasse la limite maximale d'un type entier. Comprendre et prévenir le dépassement est crucial pour écrire des programmes C++ robustes et fiables.
Ouvrez le WebIDE et créez un nouveau fichier appelé integer_overflow.cpp dans le répertoire ~/project :
touch ~/project/integer_overflow.cpp
#include <iostream>
#include <limits>
int main() {
// Démonstration du dépassement d'entier avec un short int
short smallInt = 32767; // Valeur maximale pour un short
std::cout << "Original Value: " << smallInt << std::endl;
// Le dépassement se produit lors de l'incrémentation au-delà de la valeur maximale
smallInt++;
std::cout << "After Overflow: " << smallInt << std::endl;
// Utilisation d'entiers non signés pour prévenir le dépassement négatif
unsigned int positiveOnly = 0;
std::cout << "Unsigned Integer Start: " << positiveOnly << std::endl;
// La décrémentation d'un entier non signé provoque un rebouclage
positiveOnly--;
std::cout << "Unsigned Integer Wrap-around: " << positiveOnly << std::endl;
// Vérification des limites des entiers
std::cout << "\nInteger Type Limits:" << std::endl;
std::cout << "Short Max: " << std::numeric_limits<short>::max() << std::endl;
std::cout << "Short Min: " << std::numeric_limits<short>::min() << std::endl;
// Méthode d'incrémentation sûre
try {
if (smallInt < std::numeric_limits<short>::max()) {
smallInt++;
std::cout << "Safe Increment: " << smallInt << std::endl;
} else {
std::cout << "Cannot increment further" << std::endl;
}
} catch (const std::overflow_error& e) {
std::cout << "Overflow Error: " << e.what() << std::endl;
}
return 0;
}
Analysons le dépassement d'entier :
Caractéristiques du dépassement :
- Se produit lorsque la valeur dépasse la limite maximale du type
- Peut causer des résultats inattendus
- Comportement différent pour les types signés et non signés
Stratégies de prévention :
- Vérifiez les limites avant les calculs
- Utilisez des types entiers plus grands
- Utilisez des types non signés pour les valeurs non négatives
- Mettez en œuvre une vérification de plage
Compilez et exécutez le programme :
g++ integer_overflow.cpp -o integer_overflow
./integer_overflow
Exemple de sortie :
Original Value: 32767
After Overflow: -32768
Unsigned Integer Start: 0
Unsigned Integer Wrap-around: 4294967295
Integer Type Limits:
Short Max: 32767
Short Min: -32768
Safe Increment: -32767
Points clés à retenir :
- Le dépassement d'entier peut entraîner des résultats inattendus.
- Les différents types ont des comportements de dépassement différents.
- Vérifiez toujours les plages de valeurs avant les calculs.
- Utilisez des types de données appropriés pour vos calculs.
Résumé
Dans ce laboratoire, vous avez appris à propos des différents types de données en C++ et à les manipuler. Vous avez commencé par déclarer des variables entières de différentes tailles, notamment short, int et long, et exploré leurs plages respectives. Ensuite, vous avez initialisé des variables à virgule flottante, telles que float et double, avec des nombres décimaux. Vous avez également appris à déclarer et initialiser des variables caractères en utilisant des guillemets simples, ainsi qu'à créer des variables de type chaîne de caractères en utilisant la classe std::string. De plus, vous avez exploré le transtypage (type casting) pour convertir entre différents types numériques, défini des constantes en utilisant le mot-clé const et manipulé des variables booléennes pour les conditions vraies/fausses. Enfin, vous avez utilisé l'opérateur sizeof() pour vérifier la taille mémoire de divers types de données et géré les situations de dépassement d'entier (integer overflow).



