12.C++程序中的自定义函数

11.C++程序中的常用函数-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/fly_binbin/article/details/142643406上面说的是C++程序中内置的一些函数,这些函数是由编译器提供的,可以方便大家的使用,但是很多时候,单纯的内置函数无法满足人们的需求,这个时候就要用到自定义函数了。

将多个步骤集中在一起,可以供其它调用方重要使用的,就是函数,即函数是为执行某些功能而集成的代码块。

函数的格式一般如下:

返回类型 函数名(参数1,参数2...)
{
    处理代码块;
    返回值;
    上面统称为函数体
}

函数由 返回值 ,函数名,参数和函数体构成,返回值指的是函数执行完所要返回的内容,如果没有返回则为void,函数名,则定义函数的名称,参数,是声明的接收数据的特定的变量。

如:

#include <iostream>
#include <math.h> //需要包含头文件
using namespace std;
//比较两个数的大小,并返回小值
int Min(int x, int y) { 
	if (x > y)
		return y;
	else return x;
}

int main() {


}

上面的int Min(int x,int y)则为一个函数,第一个int 为返回值的类型,函数名叫Min,有两个int类型参数,分别为x,y。

	if (x > y)
		return y;
	else return x;

上面的代码为函数体,返回的是int类型的值。

定义好函数了,就要使用函数,所谓函数的使用,就是函数的调用。在调用函数,一般为:

int t=Min(x,y)

定义一个int类型的t变量,接收Min返回的值,程序在运行到int t=Min(x,y)时,将会跳转到函数中进行执行,在执行完后,继续执行后面的代码,

#include <iostream>
#include <math.h> //需要包含头文件
using namespace std;
//比较两个数的大小,并返回小值
int Min(int x, int y) {
	if (x > y)
		return y;
	else return x;
}

int main() {

	int x = 10;
	int y = 20;
//调用函数,初始化t
	int t = Min(x, y);

	cout << t << endl;

}

 在通过Min调用自定义函数时,变量x的值被赋值给了Min的变量x,为了看的更清楚,我们把main中定义的x,y修改一个名称:

#include <iostream>
#include <math.h> //需要包含头文件
using namespace std;
//比较两个数的大小,并返回小值
int Min(int x, int y) {
	if (x > y)
		return y;
	else return x;
}

int main() {

	int a = 10;
	int b = 20;
//调用函数,初始化t
	int t = Min(a, b);

	cout << t << endl;

}

这个时候执行代码:

并不影响执行结果,,那个Min中的参数x,y,他们被称作形参,属于一个形式参数,在a,b赋值给他的时候,其实是赋值的a,b的副本,两个有相同的值。

由于函数的参数是通过值传递的,所以函数调用中的参数,可以是一个有返回值的表达式。

上面是普通数值的传递,如果遇到数组,应该怎么传递呢,他们两个是有区别的,比如下面的数,取数组中的最小值,

#include <iostream>
#include <math.h> //需要包含头文件
using namespace std;
//比较两个数的大小,并返回小值

int Min(int x[], int arrayLength) {
	int i, min = 65535;
	cout << arrayLength << endl;
	for (i = 0; i < arrayLength; i++) {
		cout << i << "    " << x[i] << endl;
		if (min > x[i])
			min = x[i];


	}
	return min;
}

int main() {

	int aa[7]  = {10, 2, 3, 4, 2, 1, 3};


	int t = Min(aa, 7);

	cout << "t=" << t << endl;

}

函数的形参还可以传递指针等参数,函数在传递数组时,传递过去的仅仅是名称不同,他们指向的还是同一个内存地址,如果在函数中,修改了其中一个值的内容,那么外面的实参的内容也会修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值