ขนาดของชนิดข้อมูลสามารถรับได้โดยใช้ sizeof() โปรแกรมที่สาธิตการพิมพ์พารามิเตอร์อาร์เรย์ในฟังก์ชันในภาษา C++ มีดังต่อไปนี้
ตัวอย่าง
#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;
} ผลลัพธ์
ผลลัพธ์ของโปรแกรมข้างต้นมีดังนี้
Size: 8 Size: 20
ตอนนี้เรามาทำความเข้าใจโปรแกรมข้างต้นกัน
ในฟังก์ชัน func() ขนาดของ a จะแสดงเป็น 8 เนื่องจากอาร์เรย์ใน main() ถูกส่งผ่านเป็นตัวชี้และชี้ไปที่จุดเริ่มต้นของอาร์เรย์ ดังนั้น sizeof(a) จะแสดงขนาดของตัวชี้ซึ่งเท่ากับ 8 ข้อมูลโค้ดที่แสดงเป็นดังนี้
int func(int a[]) {
cout << "Size: " << sizeof(a);
return 0;
} ในฟังก์ชัน main() ขนาดของอาร์เรย์จะแสดงเป็น 20 เนื่องจากขนาดของ int คือ 4 และอาร์เรย์มีองค์ประกอบ int 5 รายการ ข้อมูลโค้ดที่แสดงเป็นดังนี้
int main() {
int array[5];
func(array);
cout << "\nSize: " << sizeof(array);
return 0;
}