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

需积分: 0 0 下载量 122 浏览量 更新于2024-08-19 收藏 8.81MB PPT 举报
"指向指针的指针变量-c++程序设计(谭浩强)" 在C++编程语言中,指针是编程中一个重要的概念,它允许我们存储内存地址,从而间接访问和操作变量。指针的指针,也就是二级指针,是一个更高级别的抽象,它是一个指向指针变量的指针。这种数据类型在处理动态内存分配、函数参数传递以及某些复杂的数据结构(如链表和树)时特别有用。 在提供的描述中,可以看到以下关键点: 1. 指针变量的定义和使用:`int i, *p;` 这行代码定义了一个整型变量`i`和一个指向整型的指针`p`。`p=&i;`这行代码将`p`设置为指向`i`的地址。 2. 指向指针的指针变量的定义:`int i, *p, **prt;` 这里定义了一个指向整型指针的指针`prt`。`*`操作符在这里表示“指向”,所以`**`意味着“指向一个指针”。 3. 地址层次:`i`的值是2000H,`p`的值(即`i`的地址)是3000H,而`prt`的值(即`p`的地址)是5000H。这展示了三级的地址引用。 C++中的指针可以有多个级别,这意味着你可以有指向指针的指针的指针,等等。这种多层次的引用允许程序员在复杂的程序设计中实现灵活的数据管理。 C++的发展历程: C++是由C语言发展而来,由Bjarne Stroustrup在C语言基础上添加了面向对象编程(OOP)的概念,如类、对象、模板和异常处理等特性。C++的设计目标是提供一种高效且强大的编程工具,同时保持灵活性和低级内存操作的能力。 C++的主要特点包括: - 结构化编程:C++支持结构化编程原则,使得代码易于理解和维护。 - 高级和低级语言特性结合:C++既有高级语言的抽象,也有汇编语言的效率,支持位运算。 - 可移植性:C++编写的程序可以相对轻松地在不同平台间移植。 - 程序设计自由度:C++的语法相对宽松,允许程序员根据需要设计程序,但也增加了学习曲线和调试难度。 对于初学者,理解C++中的指针和指针的指针可能有一定挑战,因为它们涉及到对内存直接的操作。然而,一旦掌握了这些概念,就能编写出更为灵活和高效的代码。调试C++程序可能需要更多的技巧和耐心,因为它允许更底层的控制,这可能导致在运行时出现难以预见的问题。因此,深入理解和熟练使用指针是成为C++专家的关键步骤。