Computer >> Máy Tính >  >> Lập trình >> lập trình C

Làm cách nào để tìm độ dài của một mảng trong C / C ++?


Một số phương pháp để tìm độ dài của mảng được đưa ra như sau -

Phương pháp 1 - Sử dụng toán tử sizeof

Toán tử sizeof () có thể được sử dụng để tìm độ dài của một mảng. Một chương trình chứng minh việc sử dụng toán tử sizeof trong C ++ được đưa ra như sau.

Ví dụ

#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;
}

Kết quả của chương trình trên như sau -

The length of the array is: 5

Bây giờ, chúng ta hãy hiểu chương trình trên.

Biến len lưu trữ độ dài của mảng. Chiều dài được tính bằng cách tìm kích thước của mảng bằng cách sử dụng sizeof và sau đó chia nó cho kích thước của một phần tử của mảng. Khi đó giá trị của len được hiển thị. Đoạn mã cho điều này được đưa ra như sau -

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

Phương pháp 2 - Sử dụng con trỏ

Số học con trỏ có thể được sử dụng để tìm độ dài của một mảng. Một chương trình chứng minh điều này được đưa ra như sau.

Ví dụ

#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;
}

Đầu ra

Kết quả của chương trình trên như sau -

The length of the array is: 5

Bây giờ, chúng ta hãy hiểu chương trình trên.

Giá trị chứa trong * (&arr + 1) là địa chỉ sau 5 phần tử trong mảng. Giá trị chứa trong arr là địa chỉ của phần tử bắt đầu trong mảng. Vì vậy, phép trừ của chúng dẫn đến độ dài của mảng. Đoạn mã cho điều này được đưa ra như sau -

int arr[5] = {5, 8, 1, 3, 6};
int len = *(&arr + 1) - arr;
cout << "The length of the array is: " << len;