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

Làm thế nào để in kích thước của tham số mảng trong một hàm trong C ++?


Kích thước của kiểu dữ liệu có thể được lấy bằng cách sử dụng sizeof (). Chương trình minh họa việc in tham số mảng trong một hàm trong C ++ được đưa ra như sau.

Ví dụ

#include <iostream>
using namespace std;
int func(int a[]) {
   cout << "Size: " << sizeof(a);
   return 0;
}
int main() {
   int array[5];
   func(array);
   cout << "\nSize: " << sizeof(array);
   return 0;
}

Đầu ra

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

Size: 8
Size: 20

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

Trong hàm func (), kích thước của a được hiển thị là 8 vì mảng trong hàm main () được chuyển dưới dạng con trỏ và trỏ đến đầu mảng. Vì vậy, sizeof (a) hiển thị kích thước của con trỏ là 8. Đoạn mã hiển thị điều này như sau.

int func(int a[]) {
   cout << "Size: " << sizeof(a);
   return 0;
}

Trong hàm main (), kích thước của mảng được hiển thị là 20. Điều này là do kích thước của int là 4 và mảng chứa 5 phần tử int. Đoạn mã hiển thị điều này như sau.

int main() {
   int array[5];
   func(array);
   cout << "\nSize: " << sizeof(array);
   return 0;
}