Heim  >  Artikel  >  Backend-Entwicklung  >  Nicht initialisierte primitive Datentypen in C/C++

Nicht initialisierte primitive Datentypen in C/C++

WBOY
WBOYnach vorne
2023-08-28 22:17:031020Durchsuche

Nicht initialisierte primitive Datentypen in C/C++

Eine der häufigsten Fragen ist, wie hoch der nicht initialisierte Rohdatenwert in C oder C++ sein wird. Nun, die Antwort ist je nach System unterschiedlich. Wir können davon ausgehen, dass der Compiler der Variablen den Wert 0 zuweist. Für ganze Zahlen können Sie ihm den Wert 0 zuweisen, für Gleitkommazahlen können Sie ihm den Wert 0,0 zuweisen, aber was wird es für Daten vom Typ Zeichen sein?

Beispiel

#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";
}

Ausgabe (auf dem Windows-Compiler)

1.4013e-045
0
2.91499e-322
0

Ausgabe (auf dem Linux-Compiler)

0
0
0
0

Nun stellt sich also die Frage, warum C oder C++ Variablen keinen Standardwert zuweist? Die Antwort ist, dass die Initialisierung von Stack-Variablen teuer ist. Es wirkt sich auch auf die Ausführungsgeschwindigkeit aus. Daher können diese Variablen einige Zwischenwerte enthalten. Daher müssen wir den Wert des primitiven Datentyps initialisieren, bevor wir ihn verwenden.

Das obige ist der detaillierte Inhalt vonNicht initialisierte primitive Datentypen in C/C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen