【Day 14】Function 函数

Functions

紧接着,我们就要来介绍函数了!写函数可以让我们的程序码更简洁明了也更有效率,因此当程序码又臭又长的时候,我们就可以靠写函数来辅助!

函数跟斯斯一样有两种,一种是我们自己定义的(user-defined function),另一种是函式库中本来就定义好的(system-defined function)。

这边我就着重在 user-defined function,从定义函数开始!

首先,我们要先在 main function 的前面,先 declare:

括号中的参数可以有很多个,例如:

接着在main function的外面,要定义这个函数要拿来做甚麽:

something 的形态要符合我们定义这个函数的 return type,除了 void,所有的函数都需要写 return,只要遇到return,这个函数就会停止,并回传其值。
若一函数的 return type 是 void,就不需要写 return,void 型态的函数是不会回传任何东西的。
那在 C++ 中,我们只能 return 0 或 1 个变数,不过不论是什麽样的型态中,不需要回传阵列,阵列中的值也会随着函数 statements 变动。

呼叫函数

引数、参数
我们会看到 parameters 与 arguments,这两个词从大二修统计就阴魂不散,我花了一段时间才好不容易记起来,那这两者在程序语言中到底有何不同呢?

名称 意义
Parameters 参数 是我们在定义函数时所用的变数名称
Arguments 引数 在呼叫函数时实际传入的值

举例来说,我们宣告一个函数:

这里面的x、y就是parameters而当我们在呼叫此函数的时候:

实际传入的 3、5 就是 arguments。

在学了函数之後,我们就可以按作用范围(scope)与生命期(lifetime)分为四种变数:global variableslocal variablesexternal variablesstatic variables

但在这之前,要先知道甚麽是区块(block)
区块就是任何以大括号{ }包起来的区域, 如函式区块, if区块, for区块。

1. Global variables
简单来说,就是在 block 外被宣告,在 block 中被运用。

2. Local variables
与 global variables 相对,在 block 里出生,也在 block 结束时死亡。因此,在 block 外是无法使用任何local variable 的。

3. External variables
一个根本就不在这个 program 里面的 global variable,如果一个变数想要在别的 program 里面也被使用,宣告此变数时需要加 extern,例如:

4. Static variables
只会在第一次定义时给初值之後再碰到此叙述时,会将其视为宣告,而不会再做初始化的动作,宣告时前面加 static,例如:

static variable可以用了数一个函数被呼叫了几次。

以上,就是我对於函数的笔记!


<<:  【从实作学习ASP.NET Core】Day14 | 後台 | 用 Identity 实作会员功能

>>:  [Day14]-类别

就先在这边帮他上了一个主题了 Day1

今天是自己开始铁人赛的第一天,目标其实很简单,想要把之前学到的,之前没学到的 全部整合整理成一个作品...

第12章:SSH远端连线设定与原理介绍(三)

前言 在前一章节中,使用了ssh-keygen来演示如何使用金钥交换的方式进行验证,在本章节中,将会...

腾讯云轻量应用服务器 CentOS 7.6 升级内核开启 BBR

最近开通了良心云香港轻量,发现秋水逸冰的「一键 BBR 脚本」无法切换到最新内核开启 BBR 前提是...

爬虫怎麽爬 从零开始的爬虫自学 DAY13 python条件判断语法 if else elif

前言 各位早安,书接上回我们说到list的使用方法,今天我们要利用一些实作跟小游戏来练习程序设计中非...

为了转生而点技能-JavaScript,day14(this下篇: Call、apply呼叫及bind

Call呼叫:呼叫函式的方法,并且能指定 this 值。 用法:函式名.call(指定的this变数...