Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

จะพิมพ์ขนาดพารามิเตอร์อาร์เรย์ในฟังก์ชันใน C ++ ได้อย่างไร


ขนาดของชนิดข้อมูลสามารถรับได้โดยใช้ 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;
}