ホームページ  >  記事  >  バックエンド開発  >  C/C++ の初期化されていないプリミティブ データ型

C/C++ の初期化されていないプリミティブ データ型

WBOY
WBOY転載
2023-08-28 22:17:031021ブラウズ

C/C++ の初期化されていないプリミティブ データ型

最も一般的な質問の 1 つは、初期化されていない生データの値が C または C++ でどうなるかということです。そうですね、システムが異なれば答えは異なります。コンパイラが変数に値 0 を割り当てると想定できます。整数の場合は値 0、浮動小数点数の場合は値 0.0 を割り当てることができますが、文字型データの場合はどうなるでしょうか。

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

出力 (Windows コンパイラ上)

1.4013e-045
0
2.91499e-322
0

出力 (Linux コンパイラ上)

0
0
0
0

そこで、次の質問が来ます。 C または C++ は変数にデフォルト値を割り当てますか?答えは、スタック変数の初期化にコストがかかるからです。実行速度にも影響します。したがって、これらの変数にはいくつかの中間値が含まれる場合があります。したがって、プリミティブ データ型の値を使用する前に初期化する必要があります。

以上がC/C++ の初期化されていないプリミティブ データ型の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。