ビデオ: 【C言語入門講座】7時間目 変数の初期化をしよう 2024
C ++では、ローカル変数は値0でも有効な値で始まりません。言い換えれば、ローカル変数には実際に何かを格納するまでそれ。ローカルで宣言された配列は同じです。実際に何かを割り当てるまで、各要素にはゴミが含まれています。
宣言時にローカル変数を初期化する必要があります。このルールは、配列に対してもより真実です。初期化されていない配列要素が有効な値であると考えてアクセスするのは非常に簡単です。
<! - 1 - >"ローカル変数"は、関数内で宣言された通常の変数を参照します。 C ++の純粋主義者は、実際にこれらの 自動変数 を呼び出して、静的変数と区別します。
幸いにも、小さな配列は初期化子リストで宣言された時点で初期化されるかもしれません。次のコードスニペットは、これがどのように行われるかを示しています:
float floatArray [5] = {0。 0、1.0、2.0、3.0、4.0);
floatArray [0]を0に、floatArray [1]を1.0に、floatArray [2]を2.0に初期化します。
<! - 2 - >C ++は、リスト内の要素の数が配列のサイズより小さい場合、初期化リストを0で埋めます。実際には、空の初期化子リストを使用して配列を0に初期化することができます:
int nArray [128] = {}; //配列をすべて0に初期化する
初期化定数の数によって配列のサイズを決定できます。たとえば、中括弧内の値を数えるだけで、floatArrayに5つの要素があると判断できました。 C ++も同様に数えることができます(ここでは、C ++ができることは少なくとも1つあります)。
<! - 3 - >float floatArray [] = {0。 0、1.0、2.0、3.0、4.0);