指针传递数组方法:

  1. 将指向数组起始位置的指针做为一个参数,将数组长度作为第二个参数。(指针之处数组的位置和数据类型)
  2. 即指定元素区间,可以传递两个指针来完成,一个指针标识 数组的开头,另一个 指针标识数组的尾部

本文重点关注第2种方法:

// 使用数组区间的函数
//注意,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++】如何使用数组区间作为参数传入函数中?如何使用const指针传递数组?相关推荐

  1. 关于C语言结构体数组如何作为参数传入函数

    1.不多说上代码 #include<stdio.h> typedef enum {female,male }Sextype; typedef struct {Sextype sextype ...

  2. python将输入值转化为元组_Python实现将元组中的元素作为参数传入函数的操作

    本文由Markdown语法编辑器编辑完成. 1. 需求: 现在有一个Python的需求需要实现: 就是实现连接一次数据库,就能够执行多条SQL语句,而且这个SQL语句是需要通过调用者将每一次执行的参数 ...

  3. python将字典作为参数传入函数

    示例 max_d = {"scholl":'123'} print(*max_d) print(**max_d) 运行结果 scholl Traceback (most recen ...

  4. C语言试题四十七之程序定义了N×M的二维数组,并在主函数中自动赋值。请编写函数function(int a[N][M], int m),该函数的功能是:将数组右上半三角元素中的值乘以m。

    1. 题目 程序定义了N×M的二维数组,并在主函数中自动赋值.请编写函数function(int a[N][M], int m),该函数的功能是:将数组右上半三角元素中的值乘以m. 2 .温馨提示 C ...

  5. C语言试题二十二之定义了3×3的二维数组,并在主函数中赋值。函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。

    1. 题目 定义了3×3的二维数组,并在主函数中赋值.函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试 ...

  6. 【IT】C语言函数中怎么返回一个二维数组

    C语言函数中怎么返回一个二维数组

  7. C++ 数组作为参数传入函数 int sum_arr(int arr[], int n)

    首先我们要知道C++对于返回值的类型是有限制的--不能是数组. 我们来看看这条语句 int sum_arr(int arr[], int n)是否是正确的呢? 这条语句是正确的,但是不是说返回值不能是 ...

  8. java char指针数组_简单总结C语言中各种类型的指针的概念

    C语言中有很多关于指针的使用,指针也是C语言的灵魂所在,而且C语言中也有很多有关指针的概念,这里学习并总结了一些知道的概念. 常量指针:首先它是一个指针,常量只是用来修饰指针的定语.其定义如下: ch ...

  9. c6011取消对null指针的引用_COM编程攻略(二十二 IDL中的枚举,指针,数组)

    上一篇: Froser:COM编程攻略(二十一 异步)​zhuanlan.zhihu.com 本篇主要讲idl的一些语法特性. idl的语法和C语言非常类似,但是它扩展了一些特性,这些特性用于兼容其它 ...

最新文章

  1. 刻意练习:LeetCode实战 -- Task05. 最接近的三数之和
  2. 《深入浅出Nodejs》—— 读后总结
  3. 解决Jsp与Java后台之间url传值中文乱码问题
  4. 人的价值不在于能力,而在于位置 » 社区 | Ruby China
  5. 解决TypeError: Tensor is unhashable if Tensor equality is enabled. Instead, use tensor.experimental_re
  6. 【SQL Server 2017】18456错误/管道的另一端无任何进程错误 解决方法
  7. php __FILE__和$_SERVER['SCRIPT_FILENAME']区别
  8. 源码安装Bind 9.10 正式版 开启DLZ数据库支持 和 数据库view查询
  9. Head First设计模式读书笔记六 第七章下 外观模式
  10. android studio 自定义字体,Android Studio中的自定义字体
  11. 下一个十年,互联网升级的大致方向在哪里?
  12. 常用正则表达式(不断更新ing...)
  13. 在WinCC V7.3中如何导出过程值进行数据归档
  14. 学习《恋上数据结构与算法》目录索引 (持续更新中)
  15. 淮安php照片,一组图 看超罕见的老淮安 看超震撼的新淮安
  16. 科普文章-另一个视角解读计算机编码(修订版)
  17. js 中从JSON中取出某个属性的值
  18. 第13章 Kotlin 集成 SpringBoot 服务端开发(2)
  19. centos切换jdk版本
  20. hihoCoder Magic Box

热门文章

  1. illustrator插件--常用功能开发--移除非纯黑叠印--js脚本开发--AI插件
  2. 数码宝贝大冒险 3 全新的出发
  3. 【Python】游戏:飞机大战
  4. HTMLhead/head中标签的含义
  5. android os 2.1,【vivoX5Pro评测】Funtouch OS 2.1+Android 5.0_vivo X5Pro(2GB RAM/双4G)_手机评测-中关村在线...
  6. LeetCode LCP 56. 信物传送
  7. 微信群营销会存在哪些误区?
  8. 【C语言】C语言成长之路之超易上手的傻瓜版三子棋教程₍ᐢ.ˬ.⑅ᐢ₎
  9. 第1章 初识Photoshop
  10. Category Theory 随笔