第十章:函数


一、认识函数

“函数”可以将实现了某一功能,并需要反复使用的代码包装起来形成一个功能模块(即写成一个“函数”),那么当程序中需要使用该项功能时,只需写一条语句,调用实现该功能的“函数”即可。

void out_put(void) {
	cout << "Hello CSDN!" << endl;
	return;
}

一些程序制作时,不同程序员写不同的函数,再把它拼起来成为一个完整的程序

二、函数的定义

返回类型 函数名(形参1, 形参2) {
	函数体;
}

三、函数的调用

  • 对函数的调用,也是一个表达式。
  • 函数调用表达式的值,由函数内部的return语句决定。
  • 调用格式为:函数名(实参1,实参2,实参3,…)。

定义函数:

void out_Put() {
	for (int i = 0; i < 6; i++) cout << "*";
	cout << endl;
	return;
}

函数调用:

out_Put();

完整代码:

#include <iostream>

using namespace std;

void out_Put() {
	for (int i = 0; i < 6; i++) cout << "*";
	cout << endl;
}

int main() {
	out_Put();
	return 0;
}

四、函数的返回值

返回值类型 函数名(参数类型 参数名);

注:也可以没有参数或有两个(以上)的参数,两个以上的参数用逗号分隔。
返回值的类型有:void,int,double,float,char等。
注:如果是void表示该函数无返回值。其他则表示有返回值。参数类型即是数据类型,参数名既是变量名。
函数结束的位置必须用return语句返回正确的值。
return语句的格式为:

return 表达式(或常量值);

定义函数:

int out_put(int a, int b) {
	return a + b;
}

函数调用:

out_put(5, 6);

完整代码:

#include <iostream>

using namespace std;

int out_put(int a, int b) {
	return a + b;
}

int main() {
	cout << out_put(5, 6) << endl;
	return 0;
}

通过上面的代码,我们知道了函数传递参数的方法,只需要在括号里写入值即可,多个用逗号隔开。变量相同,如果是上面代码,无论在函数内做任何修改,都不会修改变量在main函数中的值。

五、传引用参数

通过四的讲解,传递变量只会传递值,不会修改变量在main函数的值,如果需要修改,代码如下:

#include <iostream>

using namespace std;

void change(int &a, int &b) {
	swap(a, b);
	return;
}

int main() {
	int a, b;
	cin >> a >> b;
	change(a, b);
	cout << a << " " << b << endl;
	return 0;
}

如果我们输入3 5,就会输出5 3。
上面的代码和之前的代码比,在定义函数中参数的部分变量名前多了&号,这个符号我们称之为取地址,意思就是找到参数×和y在计算机中的存储位置,交换他们存储的位置。
所以传引用参数就是在调用函数时将实参变量的地址取出来,此时形参是实参的别名,改变了函数形参的值就是改变外部实参的值。

六、将数组作为函数参数

数组作为函数参数时,不需要写出数组的元素个数,并且数组作为函数参数时,是传引用的。即作为函数参数的数组改变了,在main函数的那个数组也会改变。
数组作为函数参数时写法如下:

类型名 数组名[]

不需要写出数组的元素个数。
例如:

void function(int a[]);
  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值