Kích thước của một kiểu dữ liệu có thể được lấy bằng sizeof(). Chương trình dưới đây minh họa việc in kích thước tham số mảng trong một hàm C++.
Ví dụ
#include <iostream>
using namespace std;
int func(int a[]) {
cout << "Kích thước: " << sizeof(a);
return 0;
}
int main() {
int array[5];
func(array);
cout << "\nKích thước: " << sizeof(array);
return 0;
}
Kết quả
Kích thước: 8 Kích thước: 20
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 main() được truyền như một con trỏ và a trỏ đến đầu mảng. Do đó, sizeof(a) hiển thị kích thước của con trỏ là 8 (trên hệ thống 64-bit). Đoạn mã minh họa:
int func(int a[]) {
cout << "Kích thước: " << sizeof(a);
return 0;
}
Trong hàm main(), kích thước của array được hiển thị là 20. Điều này là vì kích thước của int là 4 byte và mảng chứa 5 phần tử int. Đoạn mã minh họa:
int main() {
int array[5];
func(array);
cout << "\nKích thước: " << sizeof(array);
return 0;
}