C++程序设计 丁亚涛 第6章 指针.ppt

C++程序设计 丁亚涛 第6章 指针.ppt

ID:50082002

大小:338.00 KB

页数:23页

时间:2020-03-08

C++程序设计 丁亚涛 第6章 指针.ppt_第1页
C++程序设计 丁亚涛 第6章 指针.ppt_第2页
C++程序设计 丁亚涛 第6章 指针.ppt_第3页
C++程序设计 丁亚涛 第6章 指针.ppt_第4页
C++程序设计 丁亚涛 第6章 指针.ppt_第5页
资源描述:

《C++程序设计 丁亚涛 第6章 指针.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、6指针指针的概念指针变量的定义和初始化指针的运算指针与常量指针与数组指针与函数void类型和const类型指针本章导读前面我们学习过变量、数组、函数。在程序执行时他们在内存中都有地址编号,考虑到直接使用这些地址(如:0X0012FF18)的不便,C++允许使用变量名、数组名[下标]、函数名来访问。这种访问是间接地访问内存中相应的地址。这些地址也可以通过&变量名、数组名、函数名分别得到。指针其实就是在内存中的地址,它可能是变量的地址,也可能是函数的入口地址。如果指针变量存储的地址是变量的地址,我们称该指针为变量的指针(或变量指针);如果指针变量存储的地址是函数的入

2、口地址,我们称该指针为函数的指针(或函数指针)。指针变量与变量指针的含义不同:指针变量也简称为指针,是指它是一个变量,且该变量是指针类型的;而变量指针是指它是一个变量,该变量是指针类型的,且它存放另一个变量的地址。6.1指针的概念定义指针变量形式如下:数据类型*指针变量名;定义并初始化的形式为:数据类型*指针变量名=&变量名;没有指向的指针变量的值是随机的,称为“野指针”。只有被赋值以后,指针变量才有确定的指向,没有初始化的指针变量必须在使用之前进行赋值操作,使其有所指向。例如:inta;int*p=&a;或者:inta,*p=&a;数据类型是任意类型,是指针所

3、指向的变量的类型。“*”不是指针变量的一部分,这里用来说明不是普通变量,而是一个指针变量。6.2指针变量的定义和初始化指针和普通变量的内存存储关系示意图6.3.1*运算符和取地址运算符&*运算符作用在指针(地址)上,代表该指针所指向的存储单元(及其值),实现间接访问,因此又叫“间接访问运算符”。如:inta=1000,*pa;p=&a;*p的值为1000,与a等价。*运算符为单目运算符,与其他的单目运算符具有相同的优先级和结合性(右结合性)。根据*运算符的作用,*运算符和取地址运算符&互逆:*(&a)==a&(*p)==p注意在定义指针变量时,“*”表示其后是指

4、针变量;在执行部分的表达式中,“*”是指向运算符。6.3指针运算6.3.2指针变量的引用有了指针变量及运算符,我们就可以引用指针变量了#includeusingnamespacestd;intswap1(intx,inty){inttemp;temp=x;x=y;y=temp;return0;}intswap2(int&x,int&y){inttemp;temp=x;x=y;y=temp;return0;}intswap3(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;return0;}intswap4

5、(int*x,int*y){int*temp;temp=x;x=y;y=temp;return0;}【例6.1】输入两个整数a和b,演示指针变量的引用intmain(){inta,b;int*pa,*pb;pa=&a;pb=&b;a=10,b=20;swap1(a,b);cout<<"a="<

6、<"*pb="<<*pb<

7、限制的,通常在指针代表一些连续的存储单元的情况下才有实际意以。1.算术运算指针可进行的算术运算有:①指针变量的++和--运算;②指针加、减整数运算;③指向同一数组不同元素的指针相减运算。2.关系运算关系运算是比较指针大小的运算。两个指针相等说明指向同一存储单元。6.3.3指针的算术运算和关系运算假定有:charstr[100]="HelloC++";char*p=str,*q;p++;q=p+3;我们在定义指针时,如果在*的右边或数据类型前面加一个const修饰符,则定义了一个常量指针,即指针值是不能修改的:inta=1000;int*constpa=&a;co

8、nstint*pa=&a

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。