ส่ง array ทั้งชุดให้ฟังก์ชัน: ส่งชื่ออาร์เรย์ (base address) ฟังก์ชันรับเป็น parameter array
Syntax
// เรียก
display(array);
// รับ
void display(int arr[5]) { ... }
// หรือ
void display(int *arr) { ... }
// หรือ
void display(int arr[]) { ... }
โปรแกรมที่ 1: ส่ง array เข้า display()
#include <stdio.h>
void display(int a[5]) {
for (int i = 0; i < 5; i++)
printf("%d ", a[i]);
}
main() {
int a[5], i;
printf("Enter 5 elements: ");
for (i = 0; i < 5; i++)
scanf("%d", &a[i]);
display(a);
}
ผลลัพธ์
Enter 5 elements: 10 20 30 40 50
10 20 30 40 50
โปรแกรมที่ 2: พิมพ์ array ย้อนกลับ
#include <stdio.h>
void rev(int array[5]) {
for (int i = 4; i >= 0; i--)
printf("array[%d] = %d\n", i, array[i]);
}
void main() {
int array[5], i;
printf("Enter elements:\n");
for (i = 0; i < 5; i++) {
printf("array[%d]: ", i);
scanf("%d", &array[i]);
}
printf("Reverse order:\n");
rev(array);
}
ผลลัพธ์
Enter elements:
array[0]: 23
array[1]: 34
array[2]: 12
array[3]: 56
array[4]: 12
Reverse order:
array[4] = 12
array[3] = 56
array[2] = 12
array[1] = 34
array[0] = 23