TECH I.S.

C++ 配列サイズ


配列のサイズを取得する

配列のサイズを取得するには、sizeof()演算子を使用できます。

int myNumbers[5] = {10, 20, 30, 40, 50}; cout << sizeof(myNumbers);

結果:

20

自分で試してみる»

配列に5つの要素が含まれているのに、結果が5ではなく20と表示されるのはなぜですか?

これは、sizeof()演算子が型のサイズをバイト単位で返すためです。

データ型の章で、int型は通常 4 バイトであることを学びました。そのため、上記の例から、4 x 5 (4 バイト x 5 要素) = 20 バイトとなります。

配列の要素数を調べるには、配列のサイズを含まれるデータ型のサイズで割る必要があります。

int myNumbers[5] = {10, 20, 30, 40, 50}; int getArrayLength = sizeof(myNumbers) / sizeof(int); cout << getArrayLength;

結果:

5

自分で試してみる»


sizeof() を使用して配列をループ

配列とループの章では、ループ条件(i < 5)に配列のサイズを書きました。これは、指定されたサイズの配列に対してのみ機能するため、理想的ではありません。

ただし、上記のsizeof()からアプローチすると、あらゆるサイズの配列に対して機能するループを作成できるようになり、より持続可能になります。

書く代わりに

int myNumbers[5] = {10, 20, 30, 40, 50}; for (int i = 0; i < 5; i++) { cout << myNumbers[i] << "\n"; }

次のように書くことをお勧めします。

int myNumbers[5] = {10, 20, 30, 40, 50}; for (int i = 0; i < sizeof(myNumbers) / sizeof(int); i++) {   cout << myNumbers[i] << "\n"; }

自分で試してみる»

C++バージョン11(2011)では、「for-each」ループも使用できることに注意してください。

int myNumbers[5] = {10, 20, 30, 40, 50}; for (int i : myNumbers) {   cout << i << "\n"; }

自分で試してみる»

配列をループするさまざまな方法はさまざまなプログラムで使用される可能性があるため、知っておくとよいでしょう。



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細