C++指针深入理解:指向指针的指针变量

需积分: 7 3 下载量 180 浏览量 更新于2024-08-19 收藏 8.66MB PPT 举报
在C++程序设计中,"指向指针的指针变量"是一个关键的概念,它涉及到内存管理和复杂数据结构的设计。当我们谈论谭浩强的《C++程序设计》一书中这一章节时,首先需要理解基本的指针概念。在C++中,`int i, *p;` 这样的声明定义了一个整型变量`i`和一个指向整型的指针`p`,`p=&i` 表示`p`指向`i`的地址。这里的`*`符号代表指针,即存储内存地址。 接着,引入了一个新的概念——指向指针的指针变量(prt),如`int prt;`。这意味着`prt`现在是一个指向指针的指针,它的基类型是`int *`,即它可以指向一个整型指针。当你声明`prt=&p;` 时,`prt`实际上指向了`p`所指向的地址,即`i`的地址。 这个概念在某些情况下非常有用,比如动态内存管理或在函数之间传递复杂的参数。通过`prt`,你可以间接地操作其他指针所指向的值,或者改变指针本身的指向,从而实现对内存更深层次的控制。 谭浩强在书中可能详细介绍了如何使用这样的指针结构,包括如何声明、初始化和操作它们,以及它们在数据结构(如链表、树等)和算法中的应用。例如,通过递归函数和动态内存分配,可以构建高效的树形数据结构,其中`prt`可能会用于存储树节点的指针链。 此外,他还可能探讨了C++语言中关于指针的一些特性,比如指针算术(如指针加减)、指针比较和指针解引用(`*prt`)。这些操作对于理解C++的底层内存管理和性能优化至关重要。 在讨论C++的发展历史时,谭浩强提到了C语言和C++的关系,指出C++是在C的基础上发展起来的,旨在解决C的一些不足,如增加面向对象编程特性,提高代码的可维护性和安全性。尽管C++语法结构的灵活性带来了更高的设计自由度,但也可能增加初学者的学习难度,因为错误处理和调试相对复杂。 指向指针的指针变量是C++中高级特性的一部分,对于深入理解内存管理和高效编程至关重要。通过谭浩强的讲解,读者不仅能掌握基础的指针概念,还能了解到如何在实际编程中巧妙运用这些复杂的数据结构和概念。