C++函数基础:定义、调用与形参
需积分: 1 24 浏览量
更新于2024-08-24
收藏 596KB PPT 举报
"C++程序设计 - 第三章 函数"
在C++编程语言中,函数是实现特定功能的代码块,它们可以被其他部分的代码调用来执行所需任务。函数由函数头和函数体两部分组成。函数头定义了函数的返回类型、名称以及形式参数表,而函数体包含了执行函数功能的代码。
3.1.1 定义函数
函数定义包括了返回类型(如果有的话,默认为int)、函数名、参数列表以及花括号内的函数体。例如:
```cpp
return_type function_name(param_type param1, param_type param2) {
// 函数体
}
```
如果函数不需要参数,可以写为`void function_name()`,或者仅保留圆括号`function_name()`。
3.1.2 声明函数
函数声明用于告诉编译器函数的存在,不包含函数体。这允许编译器检查函数调用的正确性,而实际的函数定义可以放在调用之后。声明语法类似定义,但省略函数体:
```cpp
return_type function_name(param_type param1, param_type param2);
```
3.1.3 函数调用
调用函数时,提供实际参数(实参),它们的值被传递给函数的形式参数(形参)。例如:
```cpp
result = function_name(value1, value2);
```
3.1.4 函数调用的执行过程
当函数被调用时,控制权转移给函数,执行函数体中的代码,然后在函数返回时,控制权返回到调用者。
3.2 函数调用时参数的传递
C++支持值传递、引用传递和指针传递。值传递是复制实参的值给形参,形参的改变不会影响实参。引用传递使形参成为实参的别名,两者共享同一内存位置。指针传递则是形参为实参地址,通过形参可以修改实参。
3.3 内联函数
内联函数用于优化程序,通过将函数体插入到调用处来避免函数调用的开销。使用`inline`关键字声明。
3.4 带默认形参值的函数
函数参数可以有默认值,当调用时未提供相应参数时,会使用默认值。默认参数必须从右向左指定,并且在一个函数声明和定义中保持一致。
3.5 作用域
3.5.1 作用域决定了变量的可见性和生命周期。全局变量在整个程序中可见,而局部变量仅在定义它的函数或块中可见。
3.5.2 局部变量在函数结束时销毁,全局变量在整个程序运行期间存在。
3.6 递归调用
函数可以调用自身,这就是递归。递归通常用于解决分治问题,但需要注意防止无限递归。
3.7 函数重载
函数重载允许在同一作用域内定义多个同名函数,但要求它们的参数列表不同(数量、类型或顺序)。
3.8 系统函数
系统函数是C++标准库中预定义的函数,如`std::cout`用于输出,`std::cin`用于输入。
C++支持面向过程和面向对象编程。在面向过程编程中,函数是主要的逻辑组织单元,而在面向对象编程中,函数(方法)是类的一部分,操作对象。学习C++的函数概念是理解其程序设计基础的关键。
401 浏览量
2010-12-27 上传
2011-11-06 上传
2022-01-03 上传
331 浏览量
2021-10-10 上传
2020-06-14 上传
2021-09-21 上传
2021-09-21 上传
Happy破鞋
- 粉丝: 12
- 资源: 2万+
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜