C++程序设计 冯博琴 C++第6章

C++程序设计 冯博琴 C++第6章

ID:40238211

大小:589.50 KB

页数:85页

时间:2019-07-28

C++程序设计 冯博琴 C++第6章_第1页
C++程序设计 冯博琴 C++第6章_第2页
C++程序设计 冯博琴 C++第6章_第3页
C++程序设计 冯博琴 C++第6章_第4页
C++程序设计 冯博琴 C++第6章_第5页
资源描述:

《C++程序设计 冯博琴 C++第6章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章指针中国铁道出版社16.1指针和指针变量的概念1.内存单元的地址内存的逻辑结构由以字节为单位的连续存储单元构成每个单元都有一个惟一的编号称为内存单元的地址2.变量的地址定义一个变量后,编译系统根据变量的类型为其分配若干个字节的连续内存空间。在变量分配到的连续内存单元中,第一个内存单元的地址称为变量的地址2变量i的地址是2000变量j的地址是200433.变量的指针和指针变量变量的地址称为变量的指针专门用来存放指针即地址的变量称为指针变量指针变量的值=指针(即另一个变量的地址)当一个指针变量p保存的是某个变量i的地址时,就称变量p指向了变量i。44.变

2、量的直接存取和间接存取直接存取或直接访问方式:对变量进行的存取是直接按变量的名称进行存取例如:cin>>i;k=i;间接存取方式:通过指向某个变量的指针变量间访问变量a的值55.与指针运算有关的运算符(1)取地址运算符“&”作用:求出运算对象的地址。例如:输出变量a的地址:cout<<&a;将变量i的地址赋给指针变量p:p=&i;符号“&”的不同作用:int&inti=i;//作为引用定义int*p=&i;//作为地址运算符c=a&b;//作为位与运算符6(2)指向运算符“*”指向运算符“*”又称为间接访问运算符,结果是取出地址中保存的数据。例如:已知指针

3、变量p指向变量i,则通过p实现对变量i的间接赋值:*p=4;这与i=4;的效果是一样的。76.2指针变量使用指针变量的三个步骤:(1)定义指针变量;(2)对指针变量进行赋值,就是使其指向某个变量;(3)间接访问(引用)该指针变量指向的变量的值。86.2.1指针变量的定义1.指针变量的定义格式格式:类型标识符*指针变量名例如:int*x,*y;指针变量的使用说明:(1)一个指针变量只能指向一种类型的变量;(2)指针变量必须指向一个变量后,才能对其指向的对象进行操作。9【例6-1】指针变量的定义和使用#includeusingnamespa

4、cestd;voidmain(){inta=100,*p;//指针变量的定义p=&a;//指针变量的指向cout<<*p;//使用指针变量进行间接访问}102.指针变量的基类型指针变量所指向的变量类型称为“基类型”例如,定义:int*i1,*i2;char*c1,*c2;float*f1,*f2;变量i1、i2的基类型是整型(int),变量c1、c2的基类型是字符型(char),变量f1、f2的基类型则是浮点型(float)。通过指针变量的值可以知道连续单元的起始地址通过基类型可以知道从起始地址开始连续多少个单元为该指针变量所指向的变量的单元。116.2.

5、2指针变量可以进行的运算1.赋值运算(1)通过求地址运算符&,例如:p=&a;(2)通过其它指针变量获得,例如:p=q;要求这两个变量具有相同的基类型(3)通过运算符获得,例如:p=newint[100];其中new是动态申请存储空间的运算符(4)给指针变量赋空值,例如:p=NULL;122.算术运算设px和py是具有相同基类型的指针变量,n为整数。(1)px+n和px-n结果为指针,px当前位置的前方或后方n个数据位置。px±n的实际地址:px±n×数据长度(字节)(2)px++或++px:使px指向下一个数据位置(3)px--或--px:使px指向上一

6、个数据位置(4)px-py结果是两个指针变量所指向的地址间相隔的数据个数。133.关系运算两个指针变量间的关系运算是比较其指向的内存地址位置之间的前后关系,结果为逻辑值0或1。例如:如果px

7、,表示动态申请空间操作失败。15(1)动态申请空间【例6-2】动态申请空间,空间大小为整型数据所占的空间#includeusingnamespacestd;voidmain(){int*p1;p1=newint;//申请int类型的变量空间,并使p指向它*p1=5;//间接引用所申请的空间cout<

8、长度可以变化:指针变量=new数据类型[元素个数];元素个数可以是

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

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

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