English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
配列の長さを検出するための方法は以下の通りです:
のsizeof()
sizeof演算子は配列の長さを検出するために使用できます。Cでその方法をデモする例が以下に示されています。 ++sizeof演算子を使用するプログラム
#include <iostream> using namespace std; int main() { int arr[5] = {4, 1, 8, 2, 9}; int len = sizeof(arr)/sizeof(arr[0]); cout << "The length of the array is: " << len; return 0; }
上記プログラムの出力は以下の通りです-
The length of the array is: 5
今、上記のプログラムについて説明しましょう。
変数lenは配列の長さを保存します。sizeofを使用して配列のサイズを検出し、それを配列の1つの要素のサイズで割ると、長さを計算できます。その後、lenの値を表示します。そのためのコードスニペットは以下の通りです-
int arr[5] = {4, 1, 8, 2, 9}; int len = sizeof(arr)/sizeof(arr[0]); cout << "The length of the array is: " << len;
ポインタアルゴリズムを使用して配列の長さを検出することができます。以下はそのプログラムのデモです。
#include <iostream> using namespace std; int main() { int arr[5] = {5, 8, 1, 3, 6}; int len = *(&arr + 1) - arr; cout << "The length of the array is: " << len; return 0; }
出力結果
上記プログラムの出力は以下の通りです-
The length of the array is: 5
今、上記のプログラムについて説明しましょう。
*(&arr + 1)に含まれる値は配列の5個要素以降のアドレス。arrに含まれる値は配列の最初の要素のアドレスです。したがって、それらの差が配列の長さになります。そのためのコードスニペットは以下の通りです-
int arr[5] = {5, 8, 1, 3, 6}; int len = *(&arr + 1) - arr; cout << "The length of the array is: " << len;