C言語で配列の実際の長さを取得する方法は何ですか?

C言語では、配列の長さは固定されており、一度定義されると変更できません。したがって、配列の実際の使用されている長さを取得する方法はいくつかあります:

  1. 配列の要素数の使用方法:使用する要素数を記録する変数を定義し、要素を追加または削除するたびにこの変数の値を更新します。例:
int arr[100];  // 假设数组最大长度为100
int length = 0;  // 记录实际使用的元素个数

// 添加元素
arr[length] = 10;
length++;

// 删除元素
length--;

// 获取实际使用的元素个数
printf("实际使用的元素个数:%d\n", length);
  1. 特定の要素の値を使用して終了フラグを設定します。配列の最後の要素に特定の値(例:0、-1など)を設定し、配列を走査してその終了フラグの位置を見つけることができます。例:
int arr[] = {1, 2, 3, 4, 0};  // 数组最后一个元素为0作为结束标志

int length = 0;
while (arr[length] != 0) {
    length++;
}

printf("实际使用的元素个数:%d\n", length);
  1. 文字列の長さ
char arr[] = "hello";
int length = strlen(arr);

printf("实际使用的元素个数:%d\n", length);

上記の方法は、既知の配列の場合に実際に使用される長さを取得するものですので注意が必要です。関数に渡す場合、通常、配列の長さを追加で引数として渡す必要があります。これにより関数内で実際に使用される長さを取得できます。

bannerAds