ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อทำความเข้าใจว่าอาร์เรย์ถูกส่งไปยังฟังก์ชันต่างๆ อย่างไร
ในกรณีของ 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