面向对象程序设计7,8,9-数组,指针,引用.pptVIP

面向对象程序设计7,8,9-数组,指针,引用.ppt

  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文档。上传文档
查看更多
第七章 数组 第八章 指针 第九章 引用 权巍 面向对象程序设计 主要内容 1 数组 2 指针 3 命令行参数 4 引用 1 数组 数组定义、初始化: 如: char aa[9]; int bb[]={1,2,3}; float cc[3][5]; double dd[][2]={{1,2},{},{5,6}}; 数组元素访问 向函数传递数组 将数据作为参数传递给函数,是把数组的首地址传给函数,因此编程时需传递数组名、数组大小。 数组做函数参数,需传递数组、数组长度 int sum(int[],int); int main() { static int ia[5]={2,3,6,8,10}; int sumOfArray; sumOfArray=sum(ia,5); coutsum of array: sumOfArrayendl; } int sum(int array[],int len) { int iSum=0; for(int i=0;ilen;i++) iSum+=array[i]; return iSum; } 2 指针 指针:存放另外一个变量的地址。 指针必须初始化或者赋值(指向了数据)后,才能进行间接访问(间访)操作 int* ip; int iCount = 18; int* iPtr = iCount; // 初始化 ip = iCount; // 赋值 *ip = 8; // 间访操作 * 面向对象程序设计 指针是有类型的。 即:指针操作与指向数据的类型密切相关 float f = 34.5; int* p1 = f; //错 int n=5; p1 = n; int *p2 = p1; *p2=100; cout“ n: ”n“\n”; cout“*p1”p1“: ”*p2“\n”; cout“*p2 ”p2“: ”*p2“\n”; 结果为: * 面向对象程序设计 2.1 指针运算 指针加减整数的操作表示空间位置上的挪动 但是挪动的字节数与其数据类型相关: 对float指针加6实际值增加了24个字节 对long int指针加5实际值增加了20个字节 对char指针减7实际值减少了7个字节 对double指针减2实际值减少了16个字节 * 面向对象程序设计 2.2 指针与数组 数组名本身就是表示元素集合的首地址,可以将数组名赋给指针 int a[3]; for(int i=0; i3; ++i) a[i] = i*2; for(int* iP=a; iPa+3; iP+=1) coutiP“: ”*iP“\n”; 结果为: 1245036: 0 1245040: 2 1245044: 4 * 面向对象程序设计 字符数组、字符指针、字符串 三者属同一种数据类型 char buffer[10]=“ABC”; char *pc; pc=“Hello”; coutpcendl; pc++; coutpcendl; cout*pcendl; pc=buffer; coutpcendl; 2.3 指针常量、常量指针、常量指针常量 const int a = 78; int b = 10; int c = 18; const int* ip = a; // const修饰指向的实体类型——常量指针 int* const cp = b; // const修饰指针*cp——指针常量 int const* dp = b; // 等价于上一句——指针常量 const int* const icp = c; // 常量指针常量 *ip = 87; // 错:常量指针不能修改指向的常量,*ip只能做右值 ip = c; // ok:常量指针可以修改指针值 *cp = 81; // ok:指针常量可以修改指向的实体 cp = b; // 错:指针常量不能修改指针值,即使是同一个地址 *icp = 33; // 错:常量指针常量不能修改指向的常量 icp = b; // 错:常量指针常量不能修改指针值 int d = *icp; // ok * 面向对象程序设计 2.4 指针做函数参数 传递指针(“传址”): 指针做参数也是值传递的,传递的是指针变量的值,即其它变量的地址、 void swap(int* b, int *c){ int temp=*b; *b=*c; *c=temp; } int main(){

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档