【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)原型的功能

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

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

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

相关推荐
茯苓gao13 小时前
嵌入式开发笔记:CANopen相关移位运算与通信协议术语详解
网络·嵌入式硬件·学习·信息与通信
疋瓞13 小时前
python和C++对比(1)_数据类型和数据结构
数据结构·c++·python
C语言小火车13 小时前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序
北冥you鱼13 小时前
abigen 最佳实践:从入门到精通,高效生成 Go 语言合约绑定
开发语言·golang·区块链
ALex_zry14 小时前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++
她说..15 小时前
Java 默认值设置方式
java·开发语言·后端·springboot
忧郁的紫菜15 小时前
基础实现:单篇 Markdown 转 Word
开发语言·c#·word
甜美的小天鹅15 小时前
Swifter C#之inline还是不inline,这是个问题
开发语言·c#
小短腿的代码世界15 小时前
Qt Bluetooth源码深度解析:从HCI协议到跨平台API的完整架构
开发语言·qt·架构
_olone15 小时前
Luogu P2704 [NOI2001] 炮兵阵地
c++·算法·状压dp