检查传递给函数的数组边界常用方法
1.传递指向数组第一个和最后一个元素的下一个位置的指针。
2. 将第二个形参定义为表示数组的大小
3.数组本身放置一个检测位
三种实现方法:
- #include<iostream>
- using namespace std;
- int sumArray(const int *beg,const int *end) //不依赖于数组长度
- { int sum=0;
- while(beg!=end)
- sum+=(*beg++);
- return sum;
- }
- int sumArray2(const int arr[10]) //固定数组长度
- {
- int sum=0;
- for(int i=0;i!=10;++i)
- sum+=arr[i];
- return sum;
- }
- int sumArray3(const int ia[],const int arr_size) //通过传递进去数组长度进行调用
- {
- int sum=0;
- for(int i=0;i!=arr_size;++i)
- sum+=ia[i];
- return sum;
- }
- int main()
- {
- int arr[10]={1,2,3,4,5,6,7,8,9,10};
- int *p=arr;
- cout<<"sumArray 1 :\t"<<sumArray(p,p+10)
- <<" sumArray2 : \t"<<sumArray2(arr)
- <<" sumArray3: \t "<<sumArray3(arr,10);
- return 0;
- }