当前位置: 首页 > news >正文

C++ Primer Plus 第七章笔记

目录

函数基本知识

没有返回值的函数:void函数

有返回值的函数:

函数原型

1.为什么需要函数原型?

2.函数原型的语法

3.函数原型的功能

按值传递函数参数

形参和实参

局部变量

参数问题

使用const指针参数

调用自身的函数(递归)

指向函数的指针

1.获取函数的地址

2.声明函数指针

3.使用函数指针来调用函数


函数基本知识

要使用C++函数必须完成的工作:

提供函数定义

提供函数原型

调用函数

定义函数:可将函数分为两类,没有返回值的函数和有返回值的函数

没有返回值的函数:void函数

void FunctionName(parameters)
{statement(s)return; // option
}

        其中,FunctionName是函数名,parameters是参数列表。由于void函数没有返回值,因此在函数体中不需要使用return语句。void函数一般用于执行某个操作、产生某个副作用或输出结果等,而不需要返回任何值。

有返回值的函数:

有返回值的函数将生成一个值,并将它返回给调用函数。

通用的格式:

typeName FunctionName(parameterList)
{statementsreturn value
}

对于返回值的函数,必须使用 返回语句 以便将值返回给调用函数。

值 - - - - 可以是 常量、变量、表达式。返回结果的类型必须是 typeName 类型 或 可以转换为typeName

C++对返回值的类型有一定的限制:不能是数组。也可以是 其他的任何类型(整数、浮点数、指针、甚至是结构和对象)

函数定义命令被调用函数应返回什么类型的数据。

函数原型

1.为什么需要函数原型?

原型描述了函数编译器接口,也就是将函数返回值的类型以及参数的类型数量告诉编译器。

避免使用函数原型的办法:在首次使用函数之前定义。

2.函数原型的语法

函数原型就是一个语句。必须以 分号(;) 结束。

最简单的办法:复制函数中的函数头,然后添加分号。

对于函数原型不要求提供变量名,有类型列表即可。

而函数的参数列表 中,可以包括变量名、也可以不包括,原型中的变量名相当于占位符,可以不和函数定义中的变量名相同。

3.函数原型的功能

  • 编译器正确处理函数返回值
  • 编译器检查使用的参数数目是否正确。
  • 编译器检查使用的参数类型是否正确。如果不正确,则转换为正确的类型

按值传递函数参数

形参和实参

用于接收传递值的变量被称为形参。传递给函数的值叫做实参

在C++标准中,使用参数(argument)来表示实参,而参量(parameter)来表示形参。所以,参数传递就是 将参数赋给参量

局部变量

在函数中声明的变量(包括参数)为该函数私有。

在函数被调用时,计算机为其变量分配内存,函数结束,就释放内存。这种变量叫做局部变量。

参数问题

函数可以有多个参数,在调用函数是,使用逗号分隔开。

如果函数的两个参数的类型相同,则必须分别指明每个参数的类型,不可以像声明常规变量那样组合在一起。

按值传递函数参数是C++中最常用的函数参数传递方式之一。这种方式会把实参的值复制一份传递给函数,并在函数内对复制的值进行操作。按值传递的函数参数定义格式如下:

void FunctionName(Type parameter)
{// function body
}

其中,FunctionName是函数名,Type是参数的类型,parameter是参数的名称。

使用const指针参数

        在C++中,可以将指针声明为const指针。const指针是指针常量,其指向的地址是固定的,不可以被改变。同时,也可以将指向const数据的指针声明为const指针,即指向const数据的指针常量。这种指针在函数参数中被用到时,被称为const指针参数。

        使用const指针参数可以防止函数内部对指针所指向的数据进行修改,在一些需要保护数据的情形下使用,提高代码的安全性。

调用自身的函数(递归)

函数调用自身的过程被称为递归。递归函数应该遵循以下两个重要的规则:

1.基本情况(也称作递归终止条件):递归函数必须包含一个基本情况,当满足该情况时,递归将停止调用自身。

2.递归情况:递归函数必须包含一个递归情况,当满足该情况时,函数将调用自身。

指向函数的指针

1.获取函数的地址

获取函数地址的方式:使用函数名(后面不带参数)即可。

要将函数作为参数传递,必须传递函数名。一定要区分传递的是函数地址还是函数的返回值。

2.声明函数指针

声明指向某种数据类型的指针时,必须指定指针指向的类型

对于函数而言,声明指向函数的指针时,也必须指定指针指向的函数类型。也就是说,声明应像函数原型一样指出函数的信息。

3.使用函数指针来调用函数

使用指针来调用被指向的函数。

http://www.lryc.cn/news/166902.html

相关文章:

  • 常用数据库的 API - 开篇
  • C++之生成详细汇编代码(二百一十六)
  • AIGC|当一个程序员学会用AI来辅助编程实践
  • 9.14号作业
  • 【面试题】C/C++ 中指针和引用的区别
  • spring boot 整合多数据源
  • 数据集成:数据挖掘的准备工作之一
  • xml配置文件密码特殊字符处理
  • 遥感数据与作物模型同化
  • UI库DHTMLX Suite v8.2发布全新表单组件,让Web表单实现高度可定制!
  • 河北省图书馆典藏《乡村振兴振兴战略下传统村落文化旅游设计》许少辉八一新著
  • 什么是卷积002
  • 黑马JVM总结(八)
  • 开源网安入选广东省网络空间安全标准化技术委员会新技术及应用安全技术工作组成员单位
  • Nginx配置指南:如何定位、解读与优化Linux上的Nginx设置
  • 辉瑞与吉利德科学:制药巨头的新冠病毒之战
  • x86架构基础汇编知识
  • ThreadLocal的原理
  • Chrome 108版(64-bit 108.0.5359.125)网盘下载
  • Mars3d插件参考开发教程并在相关页面引入
  • Windows 性能突然打鸡血,靠 Bug 修复了多年顽疾
  • 亚马逊封买家账号的原因有哪些
  • 1.0零基础尝试DCM通讯(c-store)
  • vue之封装tab类组件
  • 固定资产管理中净值怎么算
  • SQlite操作后如何正确退出
  • phpcmsV9.6.0sql注入漏洞分析
  • 深入理解正则表达式:高效处理文本数据的利器
  • 张雪峰说网络空间安全专业
  • day11-ArrayList学生管理系统