大工11秋《C++语言程序设计》辅导资料十二.docVIP

大工11秋《C++语言程序设计》辅导资料十二.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C/C++语言程序设计辅导资料十二 主 题:课件第十八章 数组、指针与字符串(一) 学习时间:2011年12月19日-12月25日 内 容: 我们这周主要学习课件第十八章数组、指针与字符串(一)的相关内容,希望通过下面的内容能使同学们加深对本章相关知识点的理解。 知识脉络: 数组 指针 动态存储分配 指针与数组 指针与函数 字符串 重点与难点: 1.重点:数组与指针,指针与数组,指针与函数。 2.难点:动态存储分配,字符串操作。 一、数组 1、概念 数组是具有一定顺序关系的若干相同类型变量的集合体,组成数组的变量称为该数组的元素。数组属于构造类型。 2、对象数组 (1)定义: 类名 数组名[元素个数]; (2)访问方法:通过下标访问 数组名[下标].成员名 3、对象数组初始化 ①数组中每个元素对象被创建时,系统都会调用构造函数类初始化该对象。 ②通过初始化列表赋值。 例: Location A[2]={Location(1,2),Location(3,4)}; 4、如果没有为数组元素指定显式初始值,数组元素使用缺省值初始化(调用缺省构造函数)。 5、数组元素所属类的构造函数 ①不定义构造函数,则采用缺省构造函数。 ②各元素对象的初值要求为相同的值时,可以定义出具有缺省形参值的构造函数。各元素对象的初值要求为不同的值时,需要定义带形参(无缺省值)的构造函数。当数组中每一个对象被删除时,系统都要调用一次析构函数。 二、指针 1、背景 指针是C++从C语言中继承过来的重要概念,它提供了一种较为直观的地址操作的手段。正确地使用指针,可以方便灵活而有效地组织和表示复杂的数据结构。动态内存的分配和管理也离不开指针。在C++中从内存里存取数据有两种方法:一是使用变量名称;二是通过地址。 2、指针变量的概念 ①指针:另一个变量的地址,用于间接访问变量 ②指针变量:用于存放地址的变量 ③指针变量的声明:数据类型 *标识符; ④取地址运算符:引用“”和指针“*” 3、引用“” 引用类型是指对给定类型对象的引用,一个引用类型变量通常被认为是另一变量的别名,所有在引用变量上施加的操作实质上都被施加在了被引用者身上。 例: int val = 10; int refVal = val; refVal += 5; 4、注意: (1)引用类型变量的定义必须初始化。 int refVal2; //错误定义,为对其进行初始化 (2)引用的定义形式: int refVal = val; 引用是引入了其它变量的一个同义词,并不产生其它变量的副本。 (3)引用的操作: 如果对引用进行取地址运算,将返回被引用对象对象的地址 例: int val = 100; int refVal = val; cout refVal endl; //输出100 lcout val endl; //输出变量val 地址 cout refVal endl; //输出变量val 地址 5、引用与指针的区别: ①一个引用必须初始化; ②一旦初始化后就不能够再作为其它对象的别名。 例: int intOne=5; int ref = intOne; int intTwo = 10; ref = intTwo; cout ref endl; //输出10; cout ref endl; //输出变量intOne地址。 ③指针是变量,引用不是变量,引用本身没有地址。 ④指针可作数组元素、引用不可以 例: int *pa[5];//指针数组 int a[5]; int rea[5]=a;//不可以 ⑤可以有空指针,不可有空引用 例: int *p=null;//合法 int re=null;//无意义 6、用引用传递函数参数 (1)引用型参数将实参作为左值传给函数。这样做有以下两点效果: ①在函数内对参数的修改不再作用于局部拷贝,而是针对实参进行的。 ②在传递大型的类对象时,也不再有高额的空间与时间开销。 (2)使用引用型参数比使用指针型参数更方便,可读性也更好。 7、指向类类型对象的指针 ①定义形式:类名 *对象指针名; 例: Location A(5,10); //A是一个对象 Location *ptr; ptr=A; //取A的地址给ptr ②通过指针访问对象成员 对象指针名-成员名 8、对象指针应用举例 int main() { Location A(5,10); Location *ptr; ptr=A; int x; x=ptr-GetX(); coutxendl; return 0; } 三、本节例题 (一)单选题 1、在下面的一维数组定义中,哪一个有语法错误( )。 A.int a[]={1,2,3

文档评论(0)

ffpg + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档