C++设计第八章PPT.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C设计第八章PPT

指针常量 在指针定义语句的指针名前加const,表示指针本身是常量,例如: char * const pc=“asdf”; pc=“dfgh”; //error *pc=‘b’; //ok 在定义指针常量时必须初始化 指针常量的指针值不能修改,但它所指向地址中存放的值不受常量的约束 例6:字符串拷贝 #include iostream.h void mystrcpy(char * dest, const char * source){ while(*dest++ = *source++); } void main( ){ char a[20]=“How are you!”; char b[20]; mystrcpy(b, a); coutbendl; } 指向常量的指针常量 可以定义一个指向常量的指针常量,它必须在定义时进行初始化,例如: const int c=7; int ai; const int * const cpc=c; cpc=ai; //error *cpc=39; //error 指向常量的指针常量不允许修改指针值,也不允许修改指向地址存放的值 使用指针修改函数参数 通过函数调用,函数只能返回一个值。然而,在很多情形下,希望函数不止返回一个值 传递指针可以使函数“返回”更多的值。这里的“返回”不是函数返回类型描述的返回值,而是反映了上层函数中的变量给被调函数修改了 例7:参数值传递 #include iostream.h void swap(int x, int y){ int temp=x; x=y; y=temp; } void main( ){ int a=3, b=8; cout“a=”a“, b=”bendl; swap(a, b); cout“after swapping…\n”; cout “a=”a“, b=”bendl; } 运行结果为: a=3, b=8 after swapping… a=3, b=8 temp x y swap main a b 栈 3 8 3 3 8 返回地址 LOGO 河北大学电信学院 第八章 指针 目录 指针概念 1 指针运算 2 指针与数组 3 堆内存分配 4 目录 const指针 5 指针与函数 6 字符指针 7 指针数组 8 目录 命令行参数 9 函数指针 10 小结 11 指针 C++语言拥有在运行时获得变量的地址和操纵地址的能力,这种用来操纵地址的特殊类型变量就是指针 指针用于数组,作为函数参数,用于内存访问和堆内存操作 指针对于成功地进行C++语言程序设计是至关重要的,它的功能最强,也最危险 定义指针变量 指针变量的定义语句,由数据类型后跟星号,再跟随指针变量名组成,例如: int * ip; const int * ip; 每个指针都有个类型,void*指针除外 指针是变量,它可以是全局、静态全局、静态局部和局部的 一个*只能代表一个指针,例如: int * iPtr1, iPtr2; 建立指针 建立指针包括定义指针和给指针赋初值 用操作符可以获取变量的地址,指针变量用于存放地址 例如: int * iPtr; int iCount=18; iPtr=iCount; 0000:F822 18 0000:F822 iPtr iCount 间接引用指针 *可以用于定义指针,也可用于指针的间接引用 间接引用指针时,可获得由该指针指向的变量内容 例如: int * iPtr; int iCount=18; iPtr=iCount; cout* iPtrendl; 运行结果为: 18 间接引用指针 *放在可执行语句中的指针之前,称为间接引用操作符;*

文档评论(0)

erfg4eg + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档