30 การผ่านอาเรย์ให้ฟังก์ชั่น แบบพอร์ยเตอร์


  • ฟังก์ชั่น ไม่จำเป็นต้องรับค่าจำนวนของอาเรย์มาก็ได้ อีกวิธีหนึ่งที่สามารถวิ่งผ่านข้อมูลในอาเรย์ทุกตัวคือกำหนดค่าสุดท้ายของอาเรย์เป็นค่าพิเศษ คือถ้าเจอค่านี้ ก็ให้ทำการหยุดลูป ข้อเสียของเทคนิกนี้คือเราจะไม่สามารถใช้ค่าที่มีไว้สำหรับเช็กสิ้นสุดนี้กับตัวอื่นๆ
  • คอมไพเลอร์สามาถแยกได้ระหว่าเครื่องหมายคูณ กับพอร์เตอร์ เช่น *p*=2;
  • ถ้าใช้ & นำหน้าพอร์ยเตอร์หลังจากประกาศไปแล้ว ก็หมายความว่าเป็นที่อยู่ของพอร์ยเตอร์ตัวนั้นเอง

#include <stdio.h>
int sumArray(int p[],int n );
int main(void)
{
int a[] = {0,1,2,3,4,5,6,7,8,9};
int sum = sumArray(a,10);
printf("%d",sum);
return 0;
}
int sumArray(int p[],int n)
{
int i;
int sum = 0;
for(i = 0 ; i < n; i++ )
sum += p[i];
return sum;
}