理解C++中指向指针的指针变量及其应用

需积分: 9 4 下载量 4 浏览量 更新于2024-08-23 收藏 8.81MB PPT 举报
在谭浩强的C++教程PPT中,讲解了关于指向指针的指针变量的概念。首先,让我们明确一些基础概念。在C++中,指针是一种特殊的变量,它存储的是另一个变量的内存地址。当声明一个整型变量`int i`和它的指针`*p = &i`时,`p`实际上存储了`i`的地址。接下来,我们可以创建一个指向指针的指针变量`prt`,例如`int *p, prt`,这里`prt`是一个指向`p`类型的指针,即它可以指向一个整型指针。 当你定义`prt = &p`时,`prt`就成为了`p`的地址的地址,也就是存储`p`所指向的内存地址。这种嵌套指针结构使得我们能够更灵活地操作内存,尤其是处理动态分配的内存或复杂的数据结构。 在本例中,`prt`的值为`5000H`,这意味着它指向的是`p`的地址,而`p`的值为`3000H`,对应于`i`的地址。这样,`prt`可以用来间接访问`i`的值。这在处理数组、链表或者动态内存管理时特别有用,因为它允许我们操作底层的内存细节。 C++语言的发展历程中,C语言起源于1972年,由Dennis Ritchie和Brian Kernighan设计,主要用于编写UNIX操作系统。C++则是在此基础上的增强版本,它保持了C语言的灵活性和效率,同时引入了面向对象编程特性。C++的主要特点包括结构化编程、灵活性和效率、良好的可移植性和相对较低的抽象级别,使得程序员既能写出高效代码,又能保持程序的清晰结构。 然而,C++的语法结构相对较为灵活,这对经验丰富的程序员来说是优点,但对初学者来说可能意味着更高的学习曲线。C++的调试相对复杂,因为可能需要对内存管理和指针行为有深入理解。理解和掌握指针特别是指向指针的指针变量是C++编程中的关键环节,它对于内存管理和高级数据结构的操作至关重要。