检查传递给函数的数组边界常用方法

1.传递指向数组第一个和最后一个元素的下一个位置的指针。

2. 将第二个形参定义为表示数组的大小

3.数组本身放置一个检测位

三种实现方法:

 

 
  
  1.  
  2.  
  3. #include<iostream> 
  4. using namespace std;  
  5. int sumArray(const int *beg,const int *end)   //不依赖于数组长度  
  6. {     int sum=0;  
  7.     while(beg!=end)  
  8.         sum+=(*beg++);  
  9.  return sum;  
  10. }  
  11. int sumArray2(const int arr[10])      //固定数组长度  
  12. {  
  13.     int sum=0;  
  14.     for(int i=0;i!=10;++i)  
  15.         sum+=arr[i];  
  16.     return sum;  
  17.  
  18. }  
  19. int sumArray3(const int ia[],const int arr_size)      //通过传递进去数组长度进行调用  
  20. {  
  21.     int sum=0;  
  22.     for(int i=0;i!=arr_size;++i)  
  23.         sum+=ia[i];  
  24.     return sum;  
  25. }  
  26. int main()  
  27. {  
  28.     int arr[10]={1,2,3,4,5,6,7,8,9,10};  
  29.     int *p=arr;  
  30.     cout<<"sumArray 1 :\t"<<sumArray(p,p+10)  
  31.         <<"  sumArray2 : \t"<<sumArray2(arr)  
  32.         <<"  sumArray3: \t "<<sumArray3(arr,10);  
  33.     return 0;  
  34.