第3章_指针和引用.ppt

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

第三章 本章要点 指针的定义和使用 指针和数组的关系 字符串的应用 引用的概念和使用 主要内容 3.1 指针 3.2 指针与数组 3.3 字符串 3.4 引用 3.5 指针及引用在函数中的作用 3.1 指针 3.1.1 指针的概念 指针是一种特殊的变量,它是用来存放某个变量或函数的地址值的一种变量。也称这个指针指向所存放的地址,即指针存放哪个变量的地址值,它就指向哪个变量 。 指针的类型,是它所指向变量的类型,不是指针中保存的数据值的类型 例如:char m=‘a’; m=0x0012ff7c 3.1 指针 3.1.2 指针变量的定义 指针类型 *指针名; 例:int *p1; 注意:int *p1,p2; 一个*只能定义一个指针 指针除了可以指向变量之外,还可以指向函数, 如:int (*pf)( ); pf是一个指向函数的指针,该函数的返回值为int型数值 3.1 指针 3.1.3 指针变量的运算 指针可以进行赋值、加减以及关系运算。 对于指针的赋值,可以在定义时赋予其初始值,也可以在程序运行时为指针变量赋值。 关系运算 两个指针的比较 数组元素位置的比较 #include iostream using namespace std; int main() { int x(15),y(30); int *p=x; //为指针变量赋初始值 coutp=p;*p=*pendl; p=y; //将地址值赋给指针变量 coutp=p;*p=*pendl; *p=40; //通过指针改变变量的内容 coutp=p;*p=*pendl; couty=yendl; return 0?; } 3.1 指针 3.1.3 指针变量的运算_赋值 指针也可以指向函数,因为函数的地址值可用该函数的名字来表示,所以一个指向函数的指针可用它所指向的函数名字来赋值。例如: double Fun(double x,double y); double (*pf)(double,double); pf=Fun; 这表明pf是一个指向函数Fun()的指针,这里用Fun给pf赋值,实际上是让pf指向Fun()函数在内存中的入口地址。 #include iostream using namespace std; void Sort(int,int,int); int main() { int a,b,c; cout请输入需要排序的三个整数endl; cinabc; void (*pf)(int,int,int); //定义指向函数的指针 pf=Sort; //为指针赋值 pf(a,b,c); //利用指向函数的指针来调用函数 return 0; } void Sort(int x,int y,int z) { int temp; if(xy) {temp=x; x=y; y=temp; } if(xz) {temp=x; x=z; z=temp; } if(yz) {temp=y; y=z; z=temp; } coutxyzendl; } 3.1 指针 3.1.3 指针变量的运算_加减运算 指针的数值是另一个变量或函数的内存地址 指针可以加上一个整数,也可以减去一个整数,int *p,n; p=p+n; 整型指针p与一个整型变量n相加,是要将n乘以一个因子,这个因子就是指针所属类型的数据在实际存储时所占单元的个数 p+4*n #includeiostream using namespace std; int main() { int y=30,x=15; int *p=x; coutx=x; p=p; *p=*pendl; p++; //将地址值赋给指针变量 couty=y; p=p; *p=*pendl; p--; //通过指针改变变量的内容 coutp=p; *p=*pendl; return 0; } 3.2 指针与数组 数组名本身就是一个指针常量 数组元素的表示方法: 数组下标法 ,地址法 3.2.1 指向数组的指针 1.一维数组的指针表示 x[i] , *(x+i), p[i] , *(p+i) 2.二维数组的指针表示 x[i][j] , *(*(x+i)+j) ,

文档评论(0)

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

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

1亿VIP精品文档

相关文档