Cで配列の長さを決定する方法

Cで配列の長さを決定する方法

Cは、サイズを取得するための組み込みの方法を提供していませんアレイ。あなたは前もっていくつかの仕事をしなければなりません。

これを行う最も簡単な方法について説明したいと思います。まず、配列の長さを変数に保存します。単純な解決策が最も効果的な場合もあります。

このように配列を定義する代わりに:

int prices[5] = { 1, 2, 3, 4, 5 };

サイズには変数を使用します。

const int SIZE = 5;
int prices[SIZE] = { 1, 2, 3, 4, 5 };

したがって、たとえばループを使用して配列を反復する必要がある場合は、それを使用しますSIZE変数:

for (int i = 0; i < SIZE; i++) {
  printf("%u\n", prices[i]);
}

配列の長さの値を取得する最も簡単な手順は、sizeofオペレーター。

まず、配列のサイズを決定する必要があります。次に、それを1つの要素のサイズで割る必要があります。配列内のすべてのアイテムが同じタイプであり、同じサイズであるため、これは機能します。

例:

int prices[5] = { 1, 2, 3, 4, 5 };

int size = sizeof prices / sizeof prices[0];

printf("%u", size); /* 5 */

の代わりに:

int size = sizeof prices / sizeof prices[0];

次のものも使用できます。

int size = sizeof prices / sizeof *prices;

としてポインタ文字列へは、文字列の最初の項目を指します。

私の無料ダウンロードCハンドブック


その他のclangチュートリアル: