1.使用标准库规范
int sum_array( const int *beg, int *en ){ int sum = 0; while ( beg != en ) { sum += *beg++; } return sum;}int main(){ int a[] = { 1,1,2,3,4,5,6,7,8,9 }; cout << sum_array( a, a + sizeof(a)/sizeof(*a) ); return 0;}
2.显式传递表示数组大小形参
int sum_array( const int *a, int size ){ int sum = 0; for ( int i = 0; i < size; i++ ) { sum += *(a + i); } return sum;}int main(){ int a[] = { 1,1,2,3,4,5,6,7,8,9 }; cout << sum_array( a, sizeof(a)/sizeof(*a) ); return 0;}
3.数组大小int sum_array( const int a[], int size ){ int sum = 0; for ( int i = 0; i < size; i++ ) { sum += *(a + i); } return sum;}int main(){ int a[] = { 1,1,2,3,4,5,6,7,8,9 }; cout << sum_array( a, sizeof(a)/sizeof(*a) ); return 0;}