欢迎来到天天文库
浏览记录
ID:40816931
大小:863.50 KB
页数:54页
时间:2019-08-08
《W08-指针指针和指针变量》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、指针是C++的精华,也是学习的重点和难点正确地使用指针可编写简洁、高效和通用的程序。错误的使用指针易使程序运行出错或导致系统崩溃第8章指针8.1指针和指针变量8.2指针和数组8.3指针数组和指向指针的指针8.4指针和函数8.5new和delete运算符8.6引用和其他类型的指针8.7简单链表及其应用第8章指针教室必须有编号,也就是教室的地址。以保证正常的教学管理。8.1指针和指针变量——基本概念例如,现在1-2节是我们上课,在教三402。3-4节可能是020095班,教室中上课的班级可以变化,但在教三402始终对应着这间教室。与教室类似,计算机中的存储单元也具有这样
2、的性质。每个单元都必须有它的地址,以及存放在存储单元的内容。由于读、记代码很麻烦,因此,C++就将代码翻译成人所熟知的自然语言符号。这些符号就是代表某个存储单元的变量名或者称为标识符。试想,教室的编码如果是这样0x0065FDE4,你是否会用这个编码来管理教室呢?但这个编码就是计算机内存的地址码。402教室地址教室内容教三02A106现在假设,把地址编码为107的单元用标识符a(如:称作C++专用教室)代替,那么,a就代表了这个单元的地址。在C++中,它就是所谓的变量名。107单元地址单元内容在算法中,执行含有变量名为a的语句或表达式时,C++首先会访问a所代表的单
3、元地址,这个过程称为寻址。显然,如果单元没有地址,C++就无法找到这个单元。那么,单元的地址还有其它寻访办法吗?为了回答这个问题,我们再来探讨教室的管理。a8.1指针和指针变量——基本概念一幢楼有若干个教室,如果临时要找一个教室来上大课,一种办法是逐个寻找哪个教室空闲,这当然很费事。还有一种办法,是到管理教室的教务室去查找。教务室的墙壁上有一个大布袋,它上面分布了全校所有教室的代号——地址代码。尽管这个布袋子上不可能有教室空间,但通过访问它上面的教室地址就可了解各个教室的使用信息。例如.........................................
4、...................存放教室地址的布袋子10601班107空显然,把教室地址存放在布袋上的办法为教室管理提供很大方便8.1指针和指针变量——基本概念............................................................这种管理和访问教室的办法,也被C++的设计者采用,它们把类似于存放教室地址的小口袋称为指针变量。存放教室地址的布袋子C++中,指针是内存单元的地址。根据以上类比分析,指针变量只能存放变量的地址(指针),而不能存放一般的数据(学生)。10601班107空指针这就象布袋上的小口袋只能存放教
5、室的地址,而不可能让学生坐在上面上课的性质一样。下面来介绍指针变量的定义和使用。8.1指针和指针变量——基本概念指针变量的定义方式如下:306a307xint*p1;float*p2;inta;floatx;p1306307C++是这样给p1、p2分配单元从单元图形可知,指针变量是专用于存放变量地址的。图中的箭头是为便于形象地描述而加的。如果再定义普通变量a、x:并且在算法中有如上语句:...p1=&a;p2=&x;那么,执行语句的结果是:p2可以这样来描述它们的关系:指针p1指向变量a,p2指向变量x。8.1指针和指针变量——指针变量的说明指针变量的定义方式如下:
6、306a307xint*p1;float*p2;inta;floatx;p1306307C++是这样给p1、p2分配单元图示可知,赋值语句是把普通变量的单元地址分别存放到指针变量p1、p2中。这相当于把教室的代号放在布袋里。...p1=&a;p2=&x;p2上述赋值语句中,&是取地址运算符,表示取变量a和x的地址。运算过程是:先由&取出变量的地址,然后把地址码赋给指针变量。指针变量的命名除与普通变量相同之外,定义时还必须在左边加一个*,以示被定义的是指针变量,但在算法中却没有*。8.1指针和指针变量——指针变量的说明指针变量的定义方式如下:306a307xint*p
7、1;float*p2;inta;floatx;p1306307C++是这样给p1、p2分配单元...p1=&a;p2=&x;p2在算法中,指针变量的左边带*,表示所指单元的内容。例如*p1=5;*p2=5.0;虽然都写成*p1和*p2,但定义语句中的*是告诉编译系统:p1、p2是指针变量这相当于:a=5;x=5.0;55.0*p1*p2算法语句中的*则表示*p1和*p2是指针所指单元的内容。8.1指针和指针变量——指针变量的说明指针变量的定义方式如下:306a307xint*p1;float*p2;inta;floatx;p1306307C++是这样给p1、p2
此文档下载收益归作者所有