C++编程:形参实参指针使用解析
需积分: 9 108 浏览量
更新于2024-08-19
收藏 8.66MB PPT 举报
"这篇资源是谭浩强的C++入门到精通教程的一部分,重点讲解了形参和实参都使用指针变量的情况。教程中强调了在使用指针作为参数时,实参指针变量必须在调用函数前进行赋值。此外,还介绍了C++语言的发展历史和主要特点,包括其结构化特性、灵活性、高效性以及良好的可移植性。"
形参和实参使用指针变量是C++中一种常见的参数传递方式。在函数定义时,形参是指函数接收的临时变量,而在函数调用时,实参是传递给函数的实际值。当形参和实参都使用指针时,函数可以直接修改实参所指向的数据,因为它们共享同一块内存地址。例如在给出的代码段中:
```cpp
void main(void)
{
int a[10], *p;
p = a; // 将数组a的首地址赋给指针p
......
f(p, 10); // 实参p是一个指向数组的指针
.....
}
void f(int *x, int n)
{
......
} // 形参x也是一个指针,用于接收实参p的值
```
实参指针变量`p`在调用`f`函数之前被赋值为数组`a`的首地址,这样函数`f`内部通过形参`x`就能访问和修改`a`数组的元素。这种传参方式常用于处理大型数据结构,如数组或结构体,因为它避免了数据的拷贝,提高了效率。
C++语言的发展始于C语言,由B语言演变而来,旨在增强C语言的功能并引入面向对象编程的概念。C++的主要特点包括:
1. **结构化编程**:C++支持结构化编程,使得代码更易理解和维护,通过函数、结构体等组织代码。
2. **灵活性和效率**:C++结合了高级语言和汇编语言的特点,提供了丰富的运算符和数据类型,可以编写高效的代码。
3. **可移植性**:C++程序通常可以在不同的硬件和操作系统上运行,只需少量或无需修改。
4. **语法自由度**:C++允许程序员以较高的自由度设计程序,但也增加了学习和调试的难度。对于初学者,理解其语法规则并正确调试程序可能更具挑战性。
谭浩强的教程涵盖了C++的基础知识,适合初学者学习,同时也提醒读者在使用指针作为参数时应注意实参的初始化。
2014-10-11 上传
2021-10-06 上传
2012-02-19 上传
2023-08-09 上传
2023-05-21 上传
2023-06-10 上传
2023-06-10 上传
2023-06-10 上传
2023-04-17 上传
深井冰323
- 粉丝: 24
- 资源: 2万+
最新资源
- ema-for-mei-js:TypeScript中MEI的EMA实现(同构)
- cplusplus-helloworld:这是我的第一个C ++项目
- ng-bootstrap-loading:角度页面的加载蒙版显示功能
- johaneous.github.io:韦伯斯特无删节词典(免费的En-En-Cht词典)
- 超级万年历记录时间过程与节气,纪念日的C++版本的实现
- api-cng
- 基于Docker的MySQL+Bind9-dlz一主多从高可用DNS方案.zip
- node-webapp-step1:用于学习外语学习网络应用程序开发
- CalDash:CS294 Web应用程序
- 个人档案袋:个人档案库
- quickplot:这是quickplot模块的测试版,是pandas,matplotlib和seaborn的包装,用于快速创建漂亮的Viz进行分析
- DlvrMe-API
- azuredemoapp
- test2-solutions:CMP237 测试 2 实践解决方案
- emsi-devops:这是霍尔伯顿学校项目的资料库
- Finite-State-Machine-Model:延续2018年夏季开始的项目,其中Graeme Zinck和我在Ricker博士的带领下制作了Finite State Machines的专业模型,以实施理论并为正在进行的研究提供了试验平台。 允许生成FSM,并执行多项操作(例如“产品”和“并行组合”),并且目前已集成了U结构以用于进一步分析。 目前正在为Mount Allison大学的Ricker博士开发此工具。