ในบทช่วยสอนนี้ เราจะอภิปรายโปรแกรมเพื่อเข้าใจว่า arrays ถูกส่งให้ functions อย่างไร
ใน C/C++ arrays ถูกส่งให้ function ในรูปแบบ pointer ซึ่งให้ address ของ first element ของ array
ตัวอย่าง
#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