- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.3C++对运算符的扩充.ppt
2.3 C++对运算符的扩充 main() { int a[n],i,n; float sum=0,average; cinn; for(i=0;in;i++) cina[i]; for(i=0;in;i++) sum=sum+a[i]; average=sum/n; coutaverageendl; } 该分析程序!!! C/C++语言都是编译性的语言,要求程序的变量必须事先声明,以便在编译的过程中为每一个变量分配相应的内存空间。变量在程序运行期间不能增加也不能减少,这在许多的应用中很不方便。 C++语言的动态内存分配机制为克服这种不便提供了手段。所谓动态分配内存是指在程序运行的过程中,为程序分配大小不可预知的内存空间。 动态内存分配需要用到指针,new运算符和 Delete运算符。 New运算符 动态内存分配需要用到指针和 new 运算符,其一般形式为: pointer = new type; 若系统成功地为请求分配了内存,则指针 pointer 的值将是系统为程序所分配之内存的首地址;否则为一空指针。此时内存是随即值,系统不对其初始化。 例如: int *p; p = new int; 使用New 运算符动态申请内存空间时,可以为其指定初值。其形式是: pointer = new type(初始值); 例如: int *p; p = new int(5); Delete 运算符 当程序不再使用动态内存时(包括程序退出之前)必须用delete 运算符将动态内存返还给系统。其一般形式为: delete point; #include iostream.h Void main() { int *p; p=new int(5); if(p==0) { cout“memory allocation failture!!”endl; exit(1); } *p=*p+2; cout“the value of p is:”pendl; delete p; } 由于 C++ 语言的变量说明非常灵活,所以为单个变量申请动态内存的实用价值不大,通常都是为一个数组申请一块动态内存(称为动态数组)。申请动态数组的一般形式为: pointer = new type[c1][c2][c3]…; 其中:各 ci 均为整型常量。 int *p; p = new int[5]; #include Iostream.h main() { int *p, i, n; float sum=0,average; cinn; p=new int[n]; for(i=0;in;i++) cinp[i]; for(i=0;in;i++) sum=sum+p[i]; average=sum/n; coutaverageendl; delete [n]p; } 注意: 不允许为动态分配的内存指定初始值 int *pi; pi=new int[5]={1,2,3,4,5} 当内存分配成功后,一般不允许修改指针变量的值,否则在执行的后果不可预知。 int *p=new int[10]; p=p+2; delete [10]p; New运算符和delete运算符小节 2.4 C++对数据类型的扩充 引用类型 引用就是别名。当建立引用时,必须用一个已经定义的变量或者对象的名字来定义它。在引用被定义后,引用就作为原变量或者对象的别名来使用,对引用的改动就是对原目标的改动。 引用类型的定义 定义格式: type ref_name = var; 类型 引用名 = 已定义的变量名 例如: int i = 5; int ri = i; #include Iostream.h void main() { int n=
您可能关注的文档
- (2012.05.31)物流学概论课程教学内容和教学方法研讨(文本).doc
- 09年高考语文语言表达专项测试(二).doc
- 12.出口食品原料种植、养殖场备案办事指南.doc
- 1612版《验船师须知》(版本号7.docx
- 197.对侵占、毁坏水工程设施的处罚-二、行政职权基本信息表.doc
- 2004年国家司法考试(试卷一).doc
- 2007年浙江省挑战杯大学生课外学术科技作品竞赛作品申.doc
- 2008学年度第二学期中山大学本科生选课指南.doc
- 2009年山东省威海市中考历史试题.doc
- 2010-2011学年第一学期期中九年级化学学情调研质量分析.doc
- (二年级数学教案)《轴对称图形》教学案例设计(课标版,3篇) .pdf
- 2024-2025学年统编版语文七年级(上)第一次月考模拟试卷精选 .pdf
- 【可行性报告】2023年电缆连接件行业项目可行性分析报告 .pdf
- 2011年上海市高中学业水平考试《信息科技》试卷二 .pdf
- 公车管理方案[全文5篇] .pdf
- (2021年整理)北师大版七年级数学上册期末试卷及答案 .pdf
- 一年级上册美术教学设计-第4课各种各样的形-在美术世界里遨游▏人美版.pdf
- 2024-2025学年湖南九年级语文上学期第一次月考卷.(有答案)docx.pdf
- tm1812芯片说明 _原创文档.pdf
- 共同投资合作协议书范本(8篇) .pdf
文档评论(0)