C++教程:理解指向指针的指针变量
需积分: 10 109 浏览量
更新于2024-08-23
收藏 8.66MB PPT 举报
"指向指针的指针变量-C++面向对象程序设计(谭浩强)——教学ppt"
在C++编程中,指针是至关重要的概念,它允许我们直接操作内存地址,增强了程序的灵活性和效率。当我们谈论“指向指针的指针变量”时,这意味着我们有一个指针变量,它存储的不是普通变量的地址,而是另一个指针变量的地址。这种二级指针在处理多级指针数组或动态内存分配时特别有用。
例如,在提供的描述中,我们看到以下代码片段:
```cpp
int i, *p, prt;
i = 2000H; // 假设这是一个16进制的整数值
p = &i; // p 指向 i 的地址,即 2000H
prt = &p; // prt 指向 p 的地址,即 3000H
```
这里,`p` 是一个指向整型变量 `i` 的指针,它的值是 `i` 的地址(3000H)。而 `prt` 是一个指向指针 `p` 的指针,它的值是 `p` 的地址(5000H)。这允许我们通过 `prt` 来间接访问 `i` 的值,即通过两次解引用:
```cpp
int value = prt; // 这将获取 i 的值
```
C++中的指针是类型相关的,因此 `*p` 和 `prt` 都有特定的基类型。在这个例子中,`p` 的基类型是 `int`,意味着它指向的是一个整型变量;而 `prt` 的基类型是指向 `int` 类型指针的指针,即 `int*`。这很重要,因为指针操作需要与它们所指的类型匹配,否则会导致编译错误。
C++语言的发展历程始于早期的 BCPL 和 B 语言,由 Dennis Ritchie 和 Brian Kernighan 在贝尔实验室开发出 C 语言,用于构建 UNIX 操作系统。C++ 由 Bjarne Stroustrup 于 1983 年在 C 语言的基础上发展而来,引入了面向对象编程的概念,如类、对象、封装、继承和多态等特性,极大地扩展了 C 语言的功能。
C 语言以其简洁的语法、强大的功能和高度的效率闻名。它支持结构化编程,可以处理低级操作,如位运算,同时提供了丰富的数据结构和运算符。C 语言的程序具有良好的可移植性,可以在多种不同的硬件平台上运行,只需少量或无需修改。然而,由于其自由度高,对于初学者来说,理解和调试程序可能会相对困难。
C++ 继承了 C 语言的优点,并在其基础上增加了模板、异常处理、命名空间和更多的面向对象特性,使其更适合大型系统开发和复杂软件工程。通过使用指针,包括指向指针的指针,C++ 程序员能够创建高效且灵活的代码,但这也需要对内存管理和指针操作有深入的理解。
2009-12-24 上传
点击了解资源详情
点击了解资源详情
2009-11-29 上传
2009-04-09 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
八亿中产
- 粉丝: 27
- 资源: 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色块闪烁现象解析