C++用数组元素作函数实参

C++中实参可以是表达式,而数组元素可以是表达式的组成部分,因此数组元素可以作为函数的实参,与用变量作实参一样,将数组元素的值传送给形参变量。

C++也可以用数组名作函数参数

此时实参与形参都用数组名。

形参可以是数组名,也可以是指针变量,它们用来 接收实参传来的地址。如果形参是数组名,它代表 的是形参数组首元素的地址。

在调用函数时,将实 参数组首元素的地址传递给形参数组名。这样,实 参数组和形参数组就共占同一段内存单元。

在C++中,数组名可以作实参和形参,传递的是数组的起始地址。

C++用数组名作函数参数有三点需要读者注意:

  • 如果函数实参是数组名,形参也应为数组名,形参不能声明为普 通变量。实参数组与形参数组类型应一致,如不一致,结果将出错。
  • 数组名代表数组首元素的地址,并不代表数组中的全部元素,因此用数组名作函数实参时,不是把实参数组的值传递给形参, 而只是将实参数组首元素的地址传递给形参。
  • 在用变量作函数参数时,只能将实参变量的值传给 形参变量,在调用函数过程中如果改变了形参的 值,对实参没有影响,即实参的值不因形参的值改 变而改变。而用数组名作函数实参时,改变形参数 组元素的值将同时改变实参数组元素的值。

C++用多维数组名作函数参数

如果用二维数组名作为实参和形参,在对形参数组 声明时,必须指定第二维的大小,且应与实参的第二维的大小相同,第一维的大小可以指定, 也可以不指定。

//如
int array[2][3];形参数组的两个维度都指定大小
int array[][3];//只中定第二维的大小,省略第一维

上述两种写法都是符合C++的语法规则的,但是读者需要知道,不能把第二维的大小省略,否则会出错。

int array[][];//不确定二维数组的每一行每一列有多少个元素
int array[2][];//不确定第二维大小,就无法确定数组的结构

在第二维大小相同的前提下,形参数组的第一维可 以与实参数组不同

经典案例:C++求3*4矩阵中最大的数。

#include<iostream>//预处理
using namespace std;//命名空间
int main()//主函数
{int max_Array(int array[3][4]); //函数声明 int array[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};//定义二维数组,且赋初值 int max;//定义整型变量 cout<<"最大的数是:";//提示语句 max=max_Array(array);//调用下面我写的求最大值函数 cout<<max<<endl;//输出这个数 return 0;//函数返回值为0
}
int max_Array(int array[3][4])//自定义函数
{int i,j,max;//定义变量 max=array[0][0];//把二维数组的第一个元素赋值给max for(i=0;i<3;i++)//外层循环限制行 {for(j=0;j<4;j++)//内层循环限制列 {if(array[i][j]>max)//如果数组中有比max大的数 {max=array[i][j];//则把大的数赋值给max }}}return max;//将大的数返回到函数调用处
}

执行以上程序会输出:

最大的数是:12--------------------------------
Process exited after 2.029 seconds with return value 0
请按任意键继续. . .

6.7 C++数组名作函数参数​mp.weixin.qq.com

ajax参数中字符串最大长度_6.7 C++数组名作函数参数 | 求3*4矩阵中最大的值相关推荐

  1. c语言学习-自定义函数并调用将一个字符串中的小写字母改为大写字母(数组元素和数组名作函数参数)

    c语言自定义函数并调用将一个字符串中的小写字母改为大写字母(数组元素和数组名作函数参数) 程序流程图: 代码: #include<stdio.h> char strupr(char ch[ ...

  2. 一维数组求平均值c语言编程软件,c语言编程:用数组名作函数参数,编写一个对一维数组求平均值的函数,并在主函数中调用它...

    #includeincludeint main(){void sort1(char*p1);void print(char*p2);static char*name[]={"zhangwww ...

  3. 【C语言】数组名作函数参数完成数据的升序排列

    #include<stdio.h> void sort(int x[], int n); int main() {int arr[10] = { 11,3,7,23,15,79,66,58 ...

  4. 【C语言】数组名作函数参数,完成数据的升序排列

    #include<stdio.h> void sort(int x[],int n); int main() {int arr[10] = { 11,3,7,23,15,79,66,58, ...

  5. C语言:一维数组名作函数参数

    题目概述:有一个一维数组score,内放10个学生成绩,求平均成绩 编程: #include<stdio.h> int main() { float average(float arrar ...

  6. 将数组作为函数参数调用

    数组与单个元素一样,也可以作为参数被函数调用,但其用法与单个元素调用存在不同. 对于单个元素调用,如不使用引用&或者指针,则在函数中对形参的操作不会反映到实参上,即实参不会发生改变,具体用法详 ...

  7. 易懂的数组作为函数参数(C语言)

    易懂的数组作为函数参数(C语言) 目录 易懂的数组作为函数参数(C语言) 1.数组做函数参数 2.通过形参数组修改数组元素 3.数组排序 1.数组做函数参数 (1).若将一个数组作为实际参数传递给函数 ...

  8. pandas使用query函数基于dataframe字符串数据列中字符串的长度筛选dataframe的数据行(specific column string length)

    pandas使用query函数基于dataframe字符串数据列中字符串的长度筛选dataframe的数据行(select dataframe rows based on specific colum ...

  9. 用字符数组作函数参数编程实现如下功能:在字符串中删除与某字符相同的字符。

    用字符数组作函数参数编程实现如下功能:在字符串中删除与某字符相同的字符. **提示信息: "Input a string:" "Input a character:&qu ...

最新文章

  1. 收藏 |《动手学深度学习》中文版PDF
  2. 杭哥试用过的精品软件推荐:PDF转power point 格式-----PDFtoPowerPointPortable 已注册版本...
  3. Android 一s个相对完整的自动升级功能实现代码
  4. NLog自定义Layout Renderer
  5. ZZULIOJ 1093: 验证哥德巴赫猜想(函数专题)
  6. DPDK examples rxtx_callbacks完全注释
  7. 如何用C语言测试,C语言单元测试CMock使用(一) 基本用法
  8. 美团一面:如何优化慢SQL?
  9. iOS国际化(本地化)详解
  10. 数据结构:zyf树/毒瘤树
  11. 深入理解计算机系统——地址翻译
  12. 第十七周博客作业西北师范大学|李晓婷
  13. Excel文件减肥和加速
  14. 程序员必备的七个电脑软件
  15. java坦克大战 实训报告_程序设计实训坦克大战实验报告
  16. python制作自动交易软件下载_python自动量化交易系统
  17. RDIFramework.NET敏捷开发框架助力企业BPM业务流程系统的开发与落地
  18. 怪物猎人世界服务器小程序,坚守的猎人的最后礼物? 腾讯推出《怪物猎人世界》官方小程序...
  19. jsp002网络问卷调查系统
  20. org.apache.poi往word模板中填充数据(word2003)

热门文章

  1. 【强化学习】多臂老虎机——E_greedy、UCB、Gradient Bandit 算法 代码实现
  2. 网易云信联合墨刀,邀你参加【产品设计狂欢节】!
  3. 0115互联网新闻 | 王欣发布“马桶MT”;字节跳动发布“多闪”;罗永浩新社交软件“聊天宝”已上架苹果App Store...
  4. springboot工程中使用spring.version导致无法启动
  5. 沫沫金:2014最新全浏览器兼容左列固定右列自适应宽度技巧大公开
  6. OceanBase架构浅析(一)
  7. 2016.8.1今天是建军节
  8. android在Service中弹出Dialog对话框,即全局性对话框
  9. Android cocos2d-x开发(三)之创建Android工程和编译
  10. Unable to locate package php5-curl