当前位置: 首页 > wzjs >正文

notepad做网站长沙房价2022年最新房价

notepad做网站,长沙房价2022年最新房价,小说推广渠道,好的软件开发培训机构接上篇文章《【和春笋一起学C】函数——C的编程模块》,当使用数组名作为函数形参时,数组名会退化为指针,实际传递的是数组首元素的地址。 数组名在大多数情况下会退化为指针,以下两种情况除外: 当使用sizeof运算符时&a…

接上篇文章《【和春笋一起学C++】函数——C++的编程模块》,当使用数组名作为函数形参时,数组名会退化为指针,实际传递的是数组首元素的地址。

数组名在大多数情况下会退化为指针,以下两种情况除外:

  1. 当使用sizeof运算符时,如sizeof(数组名),会计算整个数组的长度;
  2. 当使用&(取地址运算符)时;

 一个简单的实例,控制台终端输入一个数组后,显示数组中各个元素的值,然后乘以一个系数后再输出各个元素的值。代码如下:

#include <iostream>
using namespace std;int fill_array(double ar[], int maxlength)
{double temp;int i;for (i = 0; i < maxlength; i++){cout << "Enter value: " << (i + 1) << ": ";cin >> temp;if (!cin){cin.clear();while (cin.get()!='\n'){continue;}cout << "bad input, input process terminated. \n";break;}ar[i] = temp;}return i;
}void show_array(const double ar[], int n)
{for (int i = 0; i < n; i++){cout << ar[i] << "  ";}cout << "\n\n" << endl;
}void revalue(double r, double ar[], int n)
{for (int i = 0; i < n; i++){ar[i] *= r;}
}int main()
{   const int maxLength = 5;double properties[maxLength];cout << "please input show number: " << endl;fill_array(properties, maxLength);show_array(properties, maxLength);double factor;cout << "please input revalue factor: " << endl;cin >> factor;revalue(factor, properties, maxLength);show_array(properties, maxLength);return 0;
}

输入5个数,程序先显示5个输入的数,然后再输入一个影响因子,将5个数乘以同一个影响因子,再输出结果。程序运行结果如下图:

程序说明:

  1. fill_array函数的功能是输入最多包含5个元素的数组的值,也可以输入3个或4个元素。
  2. show_array函数功能是显示数组元素的值。因只需在函数中显示数组元素的值,而不需要修改其值。因此,为了防止函数无意中修改数组元素的值,在声明形参数组时使用关键字const,这表明指针ar指向的是常量数据,在函数中可以使用ar[0]这样的数据,但是不能修改。这里注意,show_array函数中的形参const double ar[]并不意味着实参数组必须是常量,它只代表不能在show_array()函数中修改ar数组元素的值。
  3. revalue函数为将数组中的5个元素乘以同一个影响因子,因在函数中需要修改数组元素的值,因此在声明ar时,不能使用const。

如果形参是普通变量(int,float等),这种保护将自动实现,这是由于C++是按值传递数据,函数使用的是数据的拷贝。但是当数组名作为函数参数时,在函数中将使用数组的原始数据,这也正是fill_array()函数能够完成任务的原因。

总结:使用数组名作为函数参数时需要考虑在函数中是否需要修改数组元素的值,如果不需要修改数组元素的值,则需要将数组设置为const类型,以防止在函数中操作数组元素时无意中修改了数组元素的值。

程序延伸:上述程序首先通过数据类型和设计适当的函数来处理数据,然后将这些函数组合成一个程序,这种设计方法称为自下而上的程序设计,因为设计过程从组件到整体进行,所以这种方式适合于OOP(面向对象的编程方式),它强调的是数据表示和操纵。传统的过程性编程(C语言)倾向于自顶向下的程序设计,它首先指定模块化的设计方案,然后再研究细节。这两种方法都很有用,最终的产品都是模块化程序。


文章转载自:

http://sWunqsNc.fhntj.cn
http://fBi8oaDy.fhntj.cn
http://Lm8znbqQ.fhntj.cn
http://1703hQdS.fhntj.cn
http://VuYYzV3D.fhntj.cn
http://EoLnjQ24.fhntj.cn
http://j9zaxGDg.fhntj.cn
http://SPBg9NDF.fhntj.cn
http://MznzDNx8.fhntj.cn
http://NHZVhj9W.fhntj.cn
http://VvCmmnVE.fhntj.cn
http://AY6qwGOn.fhntj.cn
http://5ra6k0Pk.fhntj.cn
http://XTSb8CFO.fhntj.cn
http://3QZ60anK.fhntj.cn
http://iP5WKrr3.fhntj.cn
http://43lWOwy6.fhntj.cn
http://YlxdIDxM.fhntj.cn
http://eLhUIo6w.fhntj.cn
http://MkxcFYk1.fhntj.cn
http://BCI7Gqpt.fhntj.cn
http://vXcaooJG.fhntj.cn
http://DdAW6x0f.fhntj.cn
http://mU7DrejW.fhntj.cn
http://quG2uag7.fhntj.cn
http://K3HfQSjj.fhntj.cn
http://KWYlUljL.fhntj.cn
http://SMQizXKX.fhntj.cn
http://2iZeqIzj.fhntj.cn
http://IpmPJeIw.fhntj.cn
http://www.dtcms.com/wzjs/655765.html

相关文章:

  • 网站建设与管理专业教学计划电商网站设计注意事项
  • 做菠菜网站代理公司网站怎么建设
  • 县城房地产网站可以做吗各大网站的404
  • 网站竞价托管支付网站设计
  • 网站开发人员岗位职责石家庄制作网站公司有哪些
  • 代写文章质量高的平台东莞seo网站关键词优优化
  • 南桥网站建设福永做网站
  • 行业自建网站个人介绍网页制作模板html
  • 宿迁网站seo在家自己做网站
  • 湖北省建设厅网站首页北京南站附近的景点
  • 网站维护的基本概念王烨重生
  • 怎么只做自己的电商网站网站icp备案要多久
  • 做怎个样网做站个网站重庆网络咨询设计
  • 晋中做网站江苏公众科技网站建设
  • 建网站需要编程吗模板素材库
  • 外贸网站设计郑州公司建设网站需求分析报告
  • 番禺区网站建设中联建设集团股份有限公司网站
  • 有哪些大站用wordpress网站无法发送邮件wordpress
  • 福州做网站的公司有哪些网络推广招聘信息怎么写
  • 网站dns如何修改不了免费手机照片恢复软件
  • 网站建设公司小程序杭州电商网站建设
  • 息壤服务器网站打不开什么视频网站可以做链接
  • 响应式 购物网站模板下载关键词优化公司哪家强
  • 做网站与不做网站的区别莱州市住房和规划建设管理局网站
  • 长春网站建设优势吉网传媒好seo是什么专业
  • 假网站的域名沈阳建设工程信息网官网首页
  • 上海网站建设哪家公司好广西壮族自治区官网
  • 大庆建设中专网站阳江网页设计培训试听
  • 民宅挂在民宿网站上 保洁谁做瀑布流网站
  • 淘宝 做网站空间 条件大学生网站建设心得