C++程序设计:理解指向指针的指针变量
需积分: 4 190 浏览量
更新于2024-08-24
收藏 8.66MB PPT 举报
"指向指针的指针变量-C++程序设计 谭浩强完整版"
在C++编程中,指针是重要的数据类型之一,它能够存储其他变量的内存地址。这里我们关注的是“指向指针的指针变量”,这是一种更高级的概念,允许我们存储指针变量的地址。在描述中,可以看到一个示例:
```cpp
int i, *p, **prt;
```
在这个例子中,`i` 是一个整型变量,`p` 是指向 `i` 的指针,而 `prt` 是一个指向指针 `p` 的指针。通过 `&` 运算符,我们可以获取 `i` 和 `p` 的地址,分别赋值给 `p` 和 `prt`。
```cpp
p = &i;
prt = &p;
```
这样的层次结构使得 `prt` 能够间接地访问 `i` 的值,因为 `prt` 存储的是 `p`(即 `i` 地址的指针)的地址。因此,通过两次解引用,`**prt` 可以得到 `i` 的值。
在C++中,这种多层次的指针使用广泛于动态内存管理、函数参数传递以及复杂数据结构如链表和树的实现。例如,当我们需要更改一个指针的指向时,可以通过指向指针的指针来实现,这在某些情况下是非常有用的。
此外,这段内容还提到了C++的起源和发展。C++由C语言发展而来,C语言由Dennis Ritchie和Brian Kernighan在1972年设计,主要为编写UNIX操作系统。C++是在C语言的基础上增加了面向对象特性,如类、继承、多态等,使其成为一个更强大的编程工具。C++的特点包括:
1. 结构化编程:C++支持结构化编程,允许程序员以模块化的方式组织代码,易于理解和维护。
2. 高级与低级语言的结合:C++拥有丰富的运算符,包括位运算,可以进行底层数据操作,同时具有高级语言的抽象能力。
3. 可移植性:C++程序在不同平台上移植性良好,编写一次可以在多种硬件和操作系统上运行。
4. 自由度大但需谨慎:C++语法结构相对宽松,给予程序员很大的设计自由,但也需要开发者有较高的编程技巧,尤其是对于错误处理和调试。
学习C++需要理解指针的基本概念及其高级用法,包括指向指针的指针。虽然这可能对初学者有一定难度,但熟练掌握后,可以编写出高效且功能强大的程序。调试C++程序时,理解内存布局和指针的层次关系至关重要,因为这是找出程序错误的关键。
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2011-05-11 上传
2020-06-14 上传
2013-06-16 上传
点击了解资源详情
点击了解资源详情
杜浩明
- 粉丝: 14
- 资源: 2万+
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析