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;
}