C++程序设计:理解指向指针的指针变量

需积分: 9 4 下载量 120 浏览量 更新于2024-08-23 收藏 8.66MB PPT 举报
"指向指针的指针变量-C++程序设计(谭浩强完整版)" 本文主要探讨的是C++中的指针概念,特别是指向指针的指针变量,这是C++中一种高级的内存操作方式。C++是C语言的扩展,它增加了面向对象编程的特性,同时保留了C语言的底层操作能力。 在C++中,指针是一个变量,它存储了另一个变量的内存地址。例如,声明一个整型变量`i`和一个指向整型的指针`p`,可以表示如下: ```cpp int i; int *p; ``` 然后,可以使用`&`运算符获取`i`的地址,并将其赋值给`p`: ```cpp p = &i; ``` 指针`p`现在存储了`i`的内存地址,即`3000H`(假设)。 进一步,我们可以声明一个指向指针的指针`**prt`,它是一个指针,其本身指向一个指针变量。在这种情况下,`prt`的基类型是`int *`,即它指向的是一个存储整型数据地址的指针。完整声明如下: ```cpp int i, *p, **prt; ``` 现在,可以将`p`的地址赋值给`prt`,表示`prt`指向`p`: ```cpp prt = &p; ``` 这样,`prt`就存储了`p`的地址,即`5000H`(假设)。 C++程序设计不仅涉及语法和基本概念,还包括程序设计的原则和方法。C++的发展历史可以从BCPL、B语言到C语言的演变过程追溯,C++是在C语言基础上添加了面向对象特性,如类、对象、封装、继承和多态等。 C++的主要特点包括: 1. 结构化编程:C++支持结构化编程,代码结构清晰,易于理解和维护。 2. 高级和低级语言特性结合:C++拥有丰富的运算符,支持数据的算术逻辑运算和位运算,同时也允许直接访问内存,提供灵活的数据结构。 3. 可移植性:C++程序可以在不同平台之间轻松移植,只需要少量或无需修改。 4. 程序设计自由度大:语法结构相对宽松,程序员可以根据需求设计出高效且通用的代码,但这也增加了学习和调试的难度。 对于初学者,理解C++的指针和指向指针的指针可能具有挑战性,因为它们涉及到内存层次的抽象。然而,一旦掌握了这些概念,就能编写出更高效、更灵活的程序。调试C++程序时,虽然可能比某些高级语言更复杂,但深入理解C++的语法规则和内存模型,将有助于编写出高质量的代码。