C++编程:解析指向指针的指针变量

需积分: 31 16 下载量 43 浏览量 更新于2024-08-18 收藏 8.66MB PPT 举报
"指向指针的指针变量-谭浩强经典C++" 在C++编程中,指针是核心概念之一,它允许我们存储变量的内存地址,进而能够动态地访问和修改这些变量。指针的指针,即二级指针,是一个更高级的概念,它是指向指针变量本身的指针。这种类型的数据结构在处理动态内存分配、函数参数传递以及某些复杂的数据结构(如多维数组或链表)时非常有用。 在提供的内容中,我们看到一个简单的例子: ```cpp int i, *p, **prt; i = 2000H; // 假设这是整型变量i的值 p = &i; // p是i的地址,即3000H prt = &p; // prt是p的地址,即5000H ``` 在这个例子中,`i`是一个整型变量,它的值可以是十六进制的`2000H`。`p`是一个指向`i`的指针,因此`p`存储了`i`的内存地址,假设是`3000H`。`prt`是一个指向指针的指针,它存储了`p`的地址,即`5000H`。这样,我们可以通过`*p`访问`i`的值,通过`**prt`访问`i`的值,因为`*prt`首先解引用得到`p`,然后`*p`再次解引用得到`i`的值。 C++的特性包括: 1. 结构化编程:C++支持结构化编程,它强调程序的模块化,使得代码易于理解和维护。`{}`用于定义代码块,使程序结构清晰。 2. 高级与低级语言的结合:C++拥有丰富的运算符,包括算术、逻辑和位运算,同时允许直接操作内存,这使得它在效率和灵活性之间取得了平衡。 3. 可移植性:C++编写的程序可以在不同平台间轻松移植,只需少量或无需修改,这得益于标准库和跨平台的编译器支持。 4. 程序设计自由度:C++的语法结构相对宽松,允许程序员有很高的设计自由度,但也意味着对初学者来说学习曲线较陡峭,调试和理解程序可能更具挑战性。 C++的发展历史源自C语言,由C语言发展和完善而来。C++增加了面向对象编程(OOP)特性,如类、继承、封装和多态性,使得程序设计更加模块化和易于复用。此外,C++还包括模板、异常处理、STL(标准模板库)等高级特性,大大增强了其功能和实用性。 学习C++时,理解指针和指针的指针是至关重要的,因为它们在内存管理和高效编程中扮演着关键角色。同时,熟悉C++的语法规则、熟悉如何调试程序以及掌握其面向对象特性,对于成为熟练的C++开发者至关重要。