菜鸟编程 关于函数的一点总结

笔者在之前的文章中多多少少的提到过函数(方法),在此,笔者想对函数做一点总结。


函数是什么?

函数是将一组完成某一特定功能的语句,封装起来,作为一个零件。通常对于一个大问题,常常采用一种从上到下的分解方法,就是把一个大问题分解成若干个小问题,然后将每一个小问题分别写好,此时每一个解决小问题的程序就是一个函数。main函数则是解决整个问题的程序,也是程序的入口。


函数的声明与定义:

声明与定义一个函数的时候,要说明函数名,函数的返回值类型(类的构造函数与析构函数没有返回类型),函数的形式参数。按照习惯,声明会在main函数之前,而函数具体是如何实现的,就放在main函数的后面,这样代码可读性更好。

类型名  函数名  (形式参数列表);   这是函数的声明格式。

类型名 函数名 (形式参数列表)

{

    变量定义部分;

    具体语句部分;

}                这是函数的定义格式。

当函数的返回值类型不是void的时候,函数必须把一个值返回给调用它的环境,这里就需要关键词return。

例如:

int 函数名 (形式参数列表)

{

    int i = 0;

    具体语句部分;

    return i;

如果一个函数运行后,需要返回一组不同类型的数据,那么就需要使用指针或引用,这一点以后还会提到。


函数的调用:

函数的调用,也就是执行某一个函数,它的形式如下所示(此时被调用的函数的返回值类型是void):

函数名(实际参数);

而如果返回值类型不是void,调用形式如下(以返回值类型为int作为例子):

int i = 0;

i = 函数名 (实际参数列表);

此时被调用的函数运行完后,会返回一个int型的数据给调用它的环境,也就是返回给上面的变量i。


关于形式参数:

形式参数指明了输入的实际参数要是什么类型的数据。而程序常常会用一些固定的实际参数来调用它。C++允许函数在定义或生命的时候,给某一个或某几个参数指定默认值。例如:

void print (int value, int base = 10);

调用的时候: print(20);  这个时候value = 20,base = 10。

而如果是 print(20, 5); 这个时候value = 20,base = 5。

注意,一旦某一个参数指定了默认值,那么这个参数后面的所有参数都要有默认值。以上面的print函数为例:
void print (int value, int base = 10, int parameter = 20);

而且,在函数声明的时候要指定默认值,因为编译器是根据函数原型的声明确定函数调用是否合法,函数定义的时候指定默认值是没有意义的,除非定义与声明放在一起。


内联函数:

inline print(int value, int base = 10);

这个print函数就是一个内联函数,它有函数的外表但是没有调用的开销,也就是说,在编译的时候,内联函数里面的代码相当于复制粘贴到调用这个内联函数的地方去。因此,内联函数应该比较短小。而且,内联函数必须定义在被调用之前,否则编译器不知道应该在调用位置插入什么代码。



以上是对函数的一点总结,以后应该还会再添补一些内容。如果有表达不当的地方,还请指明更正,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值