欢迎来到天天文库
浏览记录
ID:26156118
大小:376.50 KB
页数:18页
时间:2018-11-24
《《面向对象程序设计》辅导六.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《面向对象程序设计》辅导六第八章指针和引用学习要点:指针既是C++语言中的重点,也是难点。指针是用来构造复杂数据类型的关键,因此,一定要牢牢掌握指针的原理,灵活的使用它。引用也是C++语言的重点内容,在很多时候可以用引用来代替指针,而且使用引用,程序的可读性和可维护性会好很多。所以,在能使用引用的地方,就使用引用,而不发使用指针。指针和数组的关系非常密切,在学习过程中,要注意它们之间的关系,以便能灵活地在程序中使用两者。学习要求:理解指针和引用的含义、定义、初始化及适用的场合。能够在程序设计中根据需要选择合适的数据类型。能够在程序中动态申请空间
2、,并进行合适的指针操作。能够编制将引用作为函数参数和返回值的应用程序。理解指针和结构、指针和数组的关系,能在程序中综合应用。学习方法引导:从具体的实际问题出发理解指针、引用的含义,掌握相关的概念。结合实例来理解指针和引用的使用场合,而且熟悉指针与数组、结构之间的关系,并在程序设计中进行综合运用。学习内容:一、指针的定义和初始化1.指针表示内存空间的地址。指针类型定义以*标识。例:int*//整型指针char*//字符指针double*//double型指针2.指针变量定义例:int*ip;char*cptr;int*iptr1,*iptr2;/
3、/两个指针变量3.建立指针(1)建立指针包含指针变量定义和给指针赋初值(地址)。(2)&操作符可取变量地址,指针变量用于存放地址。例:int*iptr;inticount=18;iptr=&icount;//指针赋值该例等价与。二、指针的赋值和使用1.指针的赋值指针只能接受相应类型变量的地址值。例:floatf;inti;int*pi;则:pi=34;//errorpi=&f;//errorpi=&i;//right2.间接引用指针操作符*可取指针变量所指单元内容,称为间接引用指针。例:#includevoidmain(
4、){int*iptr;inticount=18;iptr=&icount;cout<<*iptr<voidmain(){inticount=18;int*iptr=&icount;*iptr=58;cout<5、0067fe000x0067fe00580x0067fefc内存表示:例:inticount=58;int*iptr=&icount;则icount//整型变量iptr//指针变量&icount//整型变量icount地址&iptr//指针变量iptr地址*icount//错误*iptr//指针变量iptr所指单元内容4.*(取内容)和&(取地址)为互逆操作。例:p172页例。三、指针的数据类型1.定义指针时,定义指针所指向的数据类型的目的是说明如何解释指针所指空间的数据。0x300x310x320x330x0内存0x0065FDECchar*6、str=0x0065FDEC0x0065FDED表示存放了字符串“0123”0x0065FDEE0x0065FDEFint*arr=0x0065FDEC0x0065FDF0表示存放了整数“0x33323130”2.[自测题8.2]分析下面的程序的运行结果。#includevoidmain(){char*str=“12345678”;int*ip=(int*)str;short*sp=(shortint*)str;cout<7、ndl;cout<8、“0x3231”3.void*指针类型void指针,又称空类型指针。不能进行指针运算,也不能进行间接引用。可将其它类型指针赋给void指针,反之不行,
5、0067fe000x0067fe00580x0067fefc内存表示:例:inticount=58;int*iptr=&icount;则icount//整型变量iptr//指针变量&icount//整型变量icount地址&iptr//指针变量iptr地址*icount//错误*iptr//指针变量iptr所指单元内容4.*(取内容)和&(取地址)为互逆操作。例:p172页例。三、指针的数据类型1.定义指针时,定义指针所指向的数据类型的目的是说明如何解释指针所指空间的数据。0x300x310x320x330x0内存0x0065FDECchar*
6、str=0x0065FDEC0x0065FDED表示存放了字符串“0123”0x0065FDEE0x0065FDEFint*arr=0x0065FDEC0x0065FDF0表示存放了整数“0x33323130”2.[自测题8.2]分析下面的程序的运行结果。#includevoidmain(){char*str=“12345678”;int*ip=(int*)str;short*sp=(shortint*)str;cout<7、ndl;cout<8、“0x3231”3.void*指针类型void指针,又称空类型指针。不能进行指针运算,也不能进行间接引用。可将其它类型指针赋给void指针,反之不行,
7、ndl;cout<8、“0x3231”3.void*指针类型void指针,又称空类型指针。不能进行指针运算,也不能进行间接引用。可将其它类型指针赋给void指针,反之不行,
8、“0x3231”3.void*指针类型void指针,又称空类型指针。不能进行指针运算,也不能进行间接引用。可将其它类型指针赋给void指针,反之不行,
此文档下载收益归作者所有