ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อทำความเข้าใจว่าอาร์เรย์ถูกส่งไปยังฟังก์ชันต่างๆ อย่างไร
ในกรณีของ C/C++ อาร์เรย์จะถูกส่งไปยังฟังก์ชันในรูปแบบของตัวชี้ซึ่งระบุที่อยู่ให้กับองค์ประกอบแรกสุดของอาร์เรย์
ตัวอย่าง
#include <stdio.h>
//passing array as a pointer
void fun(int arr[]){
unsigned int n = sizeof(arr)/sizeof(arr[0]);
printf("\nArray size inside fun() is %d", n);
}
int main(){
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8};
unsigned int n = sizeof(arr)/sizeof(arr[0]);
printf("Array size inside main() is %d", n);
fun(arr);
return 0;
} ผลลัพธ์
Array size inside main() is 8 Array size inside fun() is 2