指针专题讲解.pptx

指针专题讲解.pptx

ID:57613073

大小:109.65 KB

页数:16页

时间:2020-08-29

指针专题讲解.pptx_第1页
指针专题讲解.pptx_第2页
指针专题讲解.pptx_第3页
指针专题讲解.pptx_第4页
指针专题讲解.pptx_第5页
资源描述:

《指针专题讲解.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、指针专题讲解1基本概念指针是什么?指针实际上指的是“指针变量”指针是一种用于储存“另外一个变量的地址”的变量指针也需要类型,它所存储的那个变量类型,就称为指针的类型指针的大小一个指针变量占用多少内存空间?既然指针只是要存储另一个变量的地址,。注意,是存放一变量的地址,而不是存放一个变量本身,所以,不管指针指向什么类型的变量,它的大小总是固定的:只要能放得下一个地址就行存放一个地址需要几个字节?答案是和一个int类型的大小相同:4字节int*pInt;char*pChar;bool*pBool;float*pFloat;double*pDouble;定义一个指针变量数据类型* 变量名;

2、int*p;数据类型 *变量名;int*p;指向不明的指针定义一个整型指针:一个指向不明的指针,是一个危险的家伙int*p;给指针变量赋值intk=100;int*p;//p取得变量k的地址p=&k;给指针变量赋值给指针赋值的操作:用&取得普通变量的地址指针之间的赋值intk;int*p=&k;intk;int*p1=&k;int*p2=p1;给指针变量赋值让指针指向数组让指针指向一个新地址。在C++中,常用一个关键字:new来为指针开辟一段新空间charname[]="NanYu";char*p=name; //不用取址符&intarr[3]={100,99,80};int*p=a

3、rr;int*p=newint;地址解析及其操作符**在C,C++语言里除了起“乘号”的作用以外,还能起“地址解析”的作用“地址解析”就是地址->值的解释过程“地址解析(*)”和“取址(&)”正好是一对相反的操作intk=100;int*p=&k;intm=*p;intk=100;int*p=&k;指针的加减操作整型变量可以加减,求和,求差:指向数组的指针inta=100;intb=99;intc=a-b;intarr[]={1,2,3,4,5};//一个数组int*parr;//一个指针。parr=arr;//没有‘&’?对啊,对数组就是不用取址符。cout<<*parr<

4、l; //输出*parr指针的加减操作指针的加减操作偏移指针请问:假设parr中存的值为“10000010”,parr2的值是多少?intarr[]={1,2,3,4,5};//一个数组int*parr;//一个指针。int*parr2;parr2=parr+1;偏移指针对指针进行加1操作,得到的是下一个元素的地址,而不是原有地址值直接加1,减以后,得到的是上一个元素的大小一个类型为T的指针的移动,以sizeof(T)为移动单位比如:int*pInt;移动单位为sizeof(int)。即:4。而char*pChar;移动单位为sizeof(char)。即1。指针的+=、-=、++、-

5、-操作C、C++除了“传统”的+,-操作以外,还提供了如题的四种加减操作。这些对于指针同样适用intarr[]={1,2,3,4,5,6,7,8,9,10};int*parr1=arr;parr1+=1;//向后称动一个单位parr1+=1;的结果,相当于:parr1=parr1+2;*(地址解析符)与++的优先级当*(作为地址解析符)和++同时作用在指针时,不管是前置还是++,都要比*有更高的优先级后置++或后置--操作,需要系统生成一个临时变量。如果这个变量占用的内存空间很小(比如指针类型总是只有4字节),则该操作带来的,对程序速度的负面影响可以不计,如果变量很大,并且多次操作。

6、则应在可能的情况下,尽量使用前置++或前置--操作小结指针是什么?不过也是一个变量,只是存储的是另一个变量的内容地址。指针有多大?总是4字节。如何定义指针?多了一个*。如何为指针赋值?全靠一个个&,除非对方已经是地址(如对方也是指针或是一个数组)。如何得到指针所指的变量?如何通过指针改变所指变量?地址解析符:*。如何移动指针?加加减减。

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

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

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