4 バイトのメモリ スロットは、定義されたすべての整数用に予約されています。初期化されていない変数は、そのスロットの古い値を保持します。したがって、初期値は何らかの形でランダム化されています。
int x = 5; // definition with initialisation
この事実は、私が知る限り、ほとんどの C++ コンパイラでスコープ付き変数にも当てはまります。しかし、グローバル変数に関しては。ゼロの値が設定されます。
int x; // uninitialised definition
グローバル変数とスコープ変数の初期値に関して、C++ コンパイラの動作が異なるのはなぜですか。
それは基本的なものですか?