【C++ Primer Plus学习记录】函数的基本知识

要使用C++函数,必须完成如下工作:

提供函数定义

提供函数原型

调用函数

1.定义函数

可以将函数分为两类:没有返回值的函数和有返回值的函数。

没有返回值的函数被称为void函数,其通用格式如下:

cpp 复制代码
void functionName(parameterList)//parameterList指定了传递给函数的参数类型和数量
{
   statement(s);
   return;
}

有返回值的函数将生成一个值,并将它返回给调用函数。这种函数的类型被声明为返回值的类型,其通用格式如下:

cpp 复制代码
typeName functionName(parameterList)
{
   statements;
   return value;
}

对于有返回值的函数,必须使用返回语句,以便将值返回给调用函数。值本身可以是常量、变量,也可以是表达式,只是其结果的类型必须为typeName类型或者可以被转换为typeName类型。

2.函数原型和函数调用

(1)为什么需要原型

原型描述了函数到编译器的接口,也就是说,它将函数返回值的类型(如果有的话)以及参数的类型和数量告诉编译器。

(2)原型的语法

复制函数定义中的函数头。

(3)原型的功能

编译器正确处理函数返回值;

编译器检查使用的参数数目是否正确;

编译器检查使用的参数类型是否正确。如果不正确,则转换为正确的类型(如果可能的话)。

相关推荐
汉克老师20 分钟前
GESP2026年9月认证C++二级( 第一部分选择题(1~7题)精讲
c++·gesp·小学生·学c++编程
Ai-_Man27 分钟前
您您这可以把Dola的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。用AI导出鸭,答案是可以的
开发语言·前端·人工智能·小程序
Java后端的Ai之路29 分钟前
Python进阶探索23 - Python中的Time与Datetime模块
开发语言·数据库·python·datetime·time
沫璃染墨1 小时前
《从零入门Linux系统篇(五十四):线程篇·七——互斥锁底层原理:从原子交换到线程竞争与锁实现》
linux·运维·服务器·开发语言·c++·驱动开发·系统架构
Java后端的Ai之路1 小时前
Python进阶探索24_应用案例_linux系统的监控
linux·开发语言·python·应用·探索
程序员清风1 小时前
PydanticAI 实战:用类型安全构建可靠的 Python Agent
开发语言·python·安全
落魄实习生2 小时前
Agent Scope Java 2.x 系列【10】Middleware
java·开发语言·ai
JWASX2 小时前
Java 转 go 学习 - 类型转换
学习·golang
Ramble_Naylor2 小时前
async/await:让一个线程同时等很多件事
开发语言·rust
可乐ea2 小时前
GitHub Security Lab 开源 Fuzzing Taskflow:让 LLM 智能体自己跑完 C/C++ 模糊测试
jvm·c++·github·模糊测试·mcp·代码agent·智能体自动化