English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C / C ++에서 배열의 길이를 어떻게 찾을 수 있습니까?

배열 길이를 찾는 몇 가지 방법은 다음과 같습니다:

메서드1-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를 사용하여 배열의 크기를 찾아 그것을 배열의 하나의 요소의 크기로 나누면 길이를 계산할 수 있습니다. 그런 다음 len의 값을 표시합니다. 이를 위해 코드 프래그먼트는 다음과 같습니다-

int arr[5] = {4, 1, 8, 2, 9};
int len = sizeof(arr)/sizeof(arr[0]);
cout << "The length of the array is: " << len;

메서드2-포인터 사용

포인터 알고리즘은 배열의 길이를 찾는 데 사용될 수 있습니다. 이 프로그램을 보여주는 예제는 다음과 같습니다.

예제

#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;
당신이 좋아할 만한 추천