Maison  >  Article  >  développement back-end  >  Types de données primitifs non initialisés en C/C++

Types de données primitifs non initialisés en C/C++

WBOY
WBOYavant
2023-08-28 22:17:031021parcourir

Types de données primitifs non initialisés en C/C++

L'une des questions les plus courantes est de savoir quelle sera la valeur des données brutes non initialisées en C ou C++ ? Eh bien, la réponse est différente selon les systèmes. Nous pouvons supposer que le compilateur attribuera à la variable la valeur 0. Pour les entiers, vous pouvez lui attribuer une valeur de 0, pour les nombres à virgule flottante, vous pouvez lui attribuer une valeur de 0,0, mais pour les données de type caractère, quelle sera-t-elle ?

Exemple

#include <iostream>
using namespace std;
main() {
   char a;
   float b;
   int c;
   double d;
   long e;
   cout << a << "\n";
   cout << b << "\n";
   cout << c << "\n";
   cout << d << "\n";
   cout << e << "\n";
}

Sortie (sur le compilateur Windows)

1.4013e-045
0
2.91499e-322
0

Sortie (sur le compilateur Linux)

0
0
0
0

Alors, maintenant la question se pose, pourquoi C ou C++ n'attribue-t-il pas une valeur par défaut aux variables ? La réponse est que l’initialisation des variables de pile coûte cher. Cela affecte également la vitesse d’exécution. Ces variables peuvent donc contenir des valeurs intermédiaires. Nous devons donc initialiser la valeur du type de données primitif avant de l'utiliser.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer