ホームページ  >  記事  >  バックエンド開発  >  C言語で配列の長さを取得する方法

C言語で配列の長さを取得する方法

小老鼠
小老鼠オリジナル
2024-05-08 17:45:281119ブラウズ

C 言語で配列の長さを取得するには 2 つの方法があります: sizeof() 演算子を使用します: length = sizeof(arr) / sizeof(arr[0]); マクロを使用します: #define ARRAY_LENGTH(arr) (sizeof( arr) / sizeof (arr[0]));

C言語で配列の長さを取得する方法

C言語で配列の長さを取得する方法

C言語では、配列はデータのコレクションを格納できるデータ構造です同じタイプの。他のプログラミング言語とは異なり、C には配列の長さを取得する組み込みメカニズムがありません。したがって、他の方法で配列の長さを取得する必要があります。

方法 1: sizeof() 演算子を使用する

sizeof() 演算子は、メモリ内の変数またはデータ構造によって占有されているバイト数を返します。これを使用して、次のように配列の長さを計算できます: sizeof() 运算符返回变量或数据结构在内存中占用的字节数。可以用它来计算数组长度,方法如下:

<code class="c">#include <stdio.h>

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int length = sizeof(arr) / sizeof(arr[0]);
    printf("数组长度: %d\n", length);

    return 0;
}</code>

在这个例子中,arr 是一个整数数组。sizeof(arr) 返回整个数组占用的字节数,sizeof(arr[0])

<code class="c">#define ARRAY_LENGTH(arr) (sizeof(arr) / sizeof(arr[0]))</code>
この例では、arr は整数の配列です。 sizeof(arr) は配列全体が占めるバイト数を返し、sizeof(arr[0]) は単一の配列要素が占めるバイト数を返します。前者を後者で割ることで、配列の長さを取得できます。

方法 2: マクロを使用する

配列の長さを取得するマクロを定義できます。マクロは、コンパイル時に展開されるプリプロセッサ ディレクティブです。例:

<code class="c">#include <stdio.h>

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int length = ARRAY_LENGTH(arr);
    printf("数组长度: %d\n", length);

    return 0;
}</code>
ここで、マクロを使用して配列の長さを取得できます:

rrreee 注:

  • これらのメソッドは、長さが既知の静的配列に対してのみ機能します。
  • 配列の長さが可変の場合 (動的に割り当てられた配列など)、他の方法を使用して配列の長さを追跡する必要があります。
🎜

以上がC言語で配列の長さを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。