【C++】如何使用数组区间作为参数传入函数中?如何使用const指针传递数组?
2018-12-25 10:39
375 查看
版权声明:本文为博主原创文章,未经允许,不得转载!欢迎留言附带链接转载! https://blog.csdn.net/qq_15698613/article/details/85244077
指针传递数组方法:
- 将指向数组起始位置的指针做为一个参数,将数组长度作为第二个参数。(指针之处数组的位置和数据类型)
- 即指定元素区间,可以传递两个指针来完成,一个指针标识 数组的开头,另一个 指针标识数组的尾部
本文重点关注第2种方法:
[code]// 使用数组区间的函数 //注意,8个元素的话,数组是a[0]~a[7]。而为什么+8?这是为了让它指向最后元素的下一个位置 #include <iostream> const int ArSize = 8; int sum_arr(const int * begin, const int * end); int main() { using namespace std; int cookies[ArSize] = { 1, 2, 3, 4, 5, 6, 7, 8 }; int sum = sum_arr(cookies, cookies + ArSize); cout << "总数: " << sum << endl; sum = sum_arr(cookies, cookies + 3);//前3个元素 cout << "前三个总数: " << sum << endl; sum = sum_arr(cookies + 4, cookies + 8);//最后4个元素 cout << "最后四个总数: " << sum << endl; cin.get(); return 0; } //传递数组区间 int sum_arr(const int * begin, const int * end) { const int * pt; int total = 0; for (pt = begin; pt != end; pt++) total = total + *pt; return total; }
注意:当pt等于end时,它将指向区间最后一个元素后面的一个位置,循环结束。
运行结果:
const 限定了指针传递地址,地址是常量,而指向的数据可以更改。(地址不可以改变,在这个地址上的数据可以改变)
相关文章推荐
- c++中关于数组作为函数参数并传递数组元素个数的几种有效方法的讨论
- c++中关于数组作为函数参数并传递数组元素个数的几种有效方法的讨论
- 如何将多维数组作为参数传递给函数?(以二维数组为例)
- C语言中如何将数组作为函数参数传递
- 关于将数组作为参数传递给函数的简单使用
- 如何将二位数组作为参数传入函数。
- c++中如何给函数传递数组参数
- c++中关于数组作为函数参数并传递数组元素个数的几种有效方法的讨论
- C++ 多维数组作为函数的返回值和参数
- 如何将二维数组作为函数的参数传递
- C#调用c++的dll,结构体数组作为引用参数的传递方式
- c++之指针作为函数参数传递的问题
- C++愤恨者札记1——类对象作为函数参数的数据传递过程
- 当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针!
- C++中关于将fstream对象作为函数参数传递相关问题说明
- [2012_C++] 函数使用数组参数
- Perl函数参数中传递数组和引用的使用
- 如何使用定时器settimeout、setInterval执行能传递参数的函数
- C++_new创建的数组作为参数传递
- C++中将数组的指针作为函数参数