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

需积分: 13 2 下载量 84 浏览量 更新于2024-08-24 收藏 8.58MB PPT 举报
"指向指针的指针变量-C++程序设计__谭浩强100%完整" 在C++编程中,指针是一个重要的概念,它允许我们存储内存地址,从而可以间接访问和修改该地址所指向的数据。在这个主题中,我们将深入探讨指向指针的指针变量,也就是二级指针,它是指针的一个更高级形式。 首先,让我们回顾一下基本的指针概念。在C++中,我们可以声明一个变量i,并声明一个指针变量p来存储i的地址。例如: ```cpp int i = 2000; // 声明一个整型变量i并初始化 int* p = &i; // 声明一个指向整型的指针p,并让它指向i的地址 ``` 这里的`*p`表示p是一个指针,`&i`获取i的地址。现在,p的值(即地址)可能是2000H。 接下来,我们可以声明一个指向指针的指针变量,如`**prt`,它存储的是指针变量的地址。在例子中: ```cpp int i, *p, **prt; p = &i; // 让p指向i prt = &p; // 让prt指向p ``` 这里,`**prt`表示prt是一个指向指针的指针,它的基类型是指向整型数据的指针,而不是整型数据本身。所以,prt的值(地址)可能是3000H,而p的值(即i的地址)是2000H。 C++的这种特性使得在处理复杂的内存结构,如动态分配的多维数组或自定义的数据结构时特别有用。通过二级指针,我们可以实现对指针的间接操作,这在处理函数参数传递,尤其是需要修改指针本身的场景中尤为关键。 C++起源于C语言,它在C的基础上增加了面向对象的特性。C语言以其简洁性和高效性而著名,适用于编写各种规模的程序。它的特点包括: 1. 结构化编程:C语言采用结构化编程思想,支持函数和结构体,便于组织代码。 2. 高级与低级语言的结合:C语言提供了丰富的运算符,包括位运算,可以进行低级别的内存操作。 3. 可移植性:C语言编写的程序可以在多种不同的计算机平台上运行,只需少量或无需修改。 4. 灵活但语法不严谨:这使得C语言对熟练的程序员提供了很大的自由度,但对初学者来说可能更具挑战性,因为调试程序时需要更仔细地理解语法和内存管理。 C++在C的基础上增加了类、模板、异常处理、命名空间等面向对象特性,以及标准模板库(STL),极大地扩展了C语言的功能,使得编写复杂和高效的应用程序变得更加容易。然而,学习C++时,理解和熟练掌握指针,特别是指向指针的指针,仍然是至关重要的基础。