C++学习必备——文章中含有源码(1)

**

什么是函数

在《C++Primer》中对于函数这样说道:

函数是一个命名了的代码块,我们通过调用函数执行相应的代码,函数可以有0个或者多个参数,而且会产生一个结果

总结:

我觉得函数可以说是一个能够实现一定功能的盒子,把他需要的工具放进去,他给你返回一个结果,可以说函数的内部是一个未知的东西,我们只需要知道这个函数能实现什么样的功能就行了,不需要去知道里面的代码怎么写的。

**为什么使用函数

当一个项目或者代码全部紧挨在一起的话,会显得开发十分繁杂,比如一个源文件的main函数中写了很多的代码,前20行实现一个功能,接下来100行实现另一个功能,再300行又实现一个功能…,这样下去,在一个main函数中零零散散地实现了很多功能!但是,过几天反过来再来看源代码,感觉就是脑袋一翁,一个main函数里面写了好几百行代码,不知道这些东西是什么,这样的开发会造成效率的丧失,会让我们没有思路,所以将一个个功能用一个个的函数封装起来,并做好注释,会节省我们很多的开发时间,使得代码可读性,容错性都会大大提高,所以一个良好的使用函数和注释的习惯是一个程序员必备(可以这么说)的品质**

2、函数基础


一个函数由以下部分组成

返回类型+函数名(参数列表){代码块}

​ 比如一个代码,求两个数的和并输出

#include

int main(){

int a,b;

std::cin>>a>>b; //输入两个数的值

int count = a+b;//count为a+b之后的值

std::cout<<“两数之和为:”<<count<<‘\n’; //输出计算得到的值

return 0;

}

在上面的代码中,再main函数中定义了一个求两数之和的程序,所有的计算代码都在main函数里面,下面我们对其加法功能进行一个封装

#include

void addData(int a,int b){

int count = a+b;//count为a+b之后的值

std::cout<<“两数之和为:”<<count<<‘\n’; //输出计算得到的值

}

int main(){

int a,b;

std::cin>>a>>b; //输入两个数的值

addData(a,b);

return 0;

}

我们将求和并输出的代码封装到了一个函数addData中,可以说addData就是实现一个两数相加并输出的功能,对于之后还需要进行两数相加的操作,我们不需要重复地写相加输出代码,只需要调用addData即可,这样不仅提高了代码的可读性,将不同功能进行了区分,而且减少了代码的重复书写,对于一些经常要用到的代码操作,使用函数将这个功能封装起来是一个很好的方法!

3、形参和实参


**在函数的编写格式中,在函数名的后面的括号里放入的参数是形式参数

返回类型+函数名(形参列表){…}

上面的代码中,在int addData(int a,int b)里面,这里面的a,b是一个形式参数,可以这么理解,现在这些参数a,b的具体值我不知道。我只知道他是一个整型变量,当在运行函数调用时,传入的才是实际参数,比如main函数中的addData(a,b),此时的a,b是我们输入的已经初始化了的函数,将实际参数放入函数的过程叫做传递参数,即传递具体的值给函数的形式参数,进行特定的操作,它就类似于一个公式一样,你必须给定实际的值,才能得到实际的结果,在传递参数的过程中需要注意几点

传入的实际参数必须跟形式参数的类型一样

传入的实际参数必须是按照顺序传递的

传入的实际参数的数量必须与形式参数的数量相同

//比如前面的addData**

**

addData(3,2); //正确–传递的数量正确

addData(3.0,2); //正确–3.0会强制转换为int类型

addData(“321”);//错误–传递的类型不正确

addData(2,3,1);//错误–传递的参数数量不对

**

参数的定义


每一个形参之间必须用逗号隔开,并注明类型

可以不定义形式参数

形式参数可以是任何基本类型或者本身定义的类型,可以是指针,引用,值

**

int fun();//正确–隐式的定义无形式参数

int fun(void);//正确–显示的定义无形式参数

int fun(int a,b);//错误–每一个形式参数前都要有一个变量类型

int fun

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值